【前端】CSS基础(1)

news/2024/5/20 21:48:01

文章目录

  • 前言
  • 一、CSS基础
    • 1、 CSS是什么
    • 2、 CSS基本语法规范
    • 3、 代码风格
      • 3.1 样式格式
      • 3.2 样式大小写
      • 3.3 空格规范
    • 4、 CSS引入方式
      • 4.1 内部样式表
      • 4.2 行内样式表
      • 4.3 外部样式

前言

  • 这篇博客仅仅是对CSS的基本结构进行了一些说明,关于CSS的更多讲解以及HTML、Javascript部分的讲解可以关注一下下面的专栏,会持续更新的。
    链接: Web前端学习专栏

  • 下面我对这个专栏的内容进行几点说明:

    1. 适合每一个前端0基础的小伙伴学习。
    2. 对常用标签以及常用属性进行了详细讲解。
    3. 最后有综合案例实现,手把手带大家实现每一个综合案例。
    4. 可以把专栏当作查询资料,前端的知识忘记了的话可以根据博客的目录找到相对应的内容进行复习。
  • 首先,提示一下大家,如果是在手机端看这篇博客的小伙伴,请移步电脑端学习哈!在电脑上会更好看一些!如果能够跟着在电脑上进行代码的实现就会更好了!
    在这里插入图片描述

  • 其次,欢迎大家来到前端的学习,因为我们可以很直观的看见代码的效果,所以我觉得前端的学习其实是很有意思的。这篇博客,将帮助您从零开始学习前端。

  • 在这个学习过程中,将遇到挑战和困难,但请相信,每一次的努力和坚持都将化为成长的动力。让我们携手共进,一起探索Web前端的无限可能!

一、CSS基础

1、 CSS是什么

层叠样式表:

  • CSS能够对网页中元素位置的排版进行像素级精确控制,实现美化页面的效果,能够做到页面的样式和结构分离。
  • 简单来说CSS就是控制页面的展示效果。而我们前面学的html是决定页面结构的。

2、 CSS基本语法规范

选择器+{1条/n条声明}

  1. 选择器决定针对谁修改(找谁)
  2. 声明修改的对象(干啥)
  3. 声明的属性是键值对。使用“ ;”区分键值对,使用“ :”区分键和值。

简单代码展示:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>p{color:red;font-size: 40px;}</style>
</head><body><p>hello world</p>
</body>
</html>

代码说明:

  1. CSS的代码样式非常多,我们先介绍一种style,通常情况下,我们会将style放在head里。
    在这里插入图片描述
  2. 当我们想要控制页面上某一个元素的展示效果,我们就需要通过选择器这个中间商来向浏览器转达我们想要控制的元素是什么,浏览器才能实现对其进行控制。
    在这里插入图片描述
  3. 我们将想要对p标签里的内容控制的效果写在{}里,这里,我们控制了字体的颜色,并将其设置成了红色color:red;;控制了文字的大小,并将其设置为40px的大小font-size: 40px;

浏览器显示如下:

在这里插入图片描述

  • 如果不使用CSS来对其进行设置的话,我们来看一下原生的效果,对比一下。

原生代码展示:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><p>hello world</p>
</body>
</html>

浏览器显示如下:
在这里插入图片描述
我们可以对比看到,无论是字体的颜色还是大小都是不一样的。


代码:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>p{color:red;font-size: 40px;}</style>
</head><body><p>hello world</p><p>hello 张三</p>
</body>
</html>

浏览器显示如下:
在这里插入图片描述

说明:

  1. 我们可以发现我们新添加的p标签中的内容的展示效果也是和我们上一个p标签中的内容的展示效果是一样的。
    在这里插入图片描述
  2. 这是因为我们的选择器选中的是p标签,所以所有的p标签中的内容它都会设置成我们在大括号({})设定的效果。
    在这里插入图片描述

代码:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>p{color:red;font-size: 40px;}</style>
</head><body><p>hello world</p><p>hello 张三</p><h1>你好啊!!!</h1>
</body>
</html>

浏览器显示如下:
在这里插入图片描述

说明:
这里我们新添加了一个h1标签,h1标签中的内容的展示效果就和p标签中内容的展示效果不同了。
在这里插入图片描述

3、 代码风格

3.1 样式格式

  1. 紧凑风格
p { color: red; font-size: 30px;}
  1. 展开风格(推荐使用)
p {color: red;font-size: 30px;
}

3.2 样式大小写

虽然css不区分大小写,但是我们开发时统一使用小写字母。

3.3 空格规范

冒号(:)后面带空格。
选择器和 { 之间也有一个空格

4、 CSS引入方式

4.1 内部样式表

什么是内部样式表呢?

  • 将CSS通过style标签嵌套到HTML页面中。上面的代码展示就是通过的这种方式(在实际开发中不太常用)。
    在这里插入图片描述

内部样式表的优缺点

优点:
能够将样式和页面结构分离。
缺点:
分离的不够彻底,尤其是在CSS内容多的时候。

4.2 行内样式表

行内样式表: 通过style属性来指定某个标签的样式。

代码:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><p style="color: blueviolet;">hello world</p><p>hello 张三</p><h1>你好啊!!!</h1>
</body>
</html>

浏览器显示如下:
在这里插入图片描述

  • 这里的hello world的内容的展示效果就是通过行内样式表来控制的。
    在这里插入图片描述
  • 我们在p标签中通过style属性来控制了字体的颜色。

缺点: 不能写太复杂的样式。(这种写法优先级较高,会覆盖其他样式)

代码:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>p{color:red;font-size: 40px;}</style>
</head><body><p style="color: blueviolet;">hello world</p><p>hello 张三</p><h1>你好啊!!!</h1>
</body>
</html>
  • 这个代码中我们我们对hello world的内容设置了两次展示效果,并且设置的展示效果不同,那么它会显示哪一种效果呢?
    在这里插入图片描述

浏览器显示如下:
在这里插入图片描述

所以,行内样式表的优先级比内部样式表的优先级高。

4.3 外部样式

这种写法是在实际开发中最常用的方式。

使用方法:

  1. 创建一个CSS文件(注意后缀是.css)。
    在这里插入图片描述
  2. 使用link标签引入css文件。
    <link rel="stylesheet" href="css文件路径">

css文件代码:

p {color: blueviolet;font-size: 40px;
}

html文件代码:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><link rel="stylesheet" href="../csspage/demo01.css">
</head>
<body><p>hello css</p>
</body>
</html>

浏览器显示如下:
在这里插入图片描述

优点: 样式和结构彻底分离了.

  • 我们在css文件里只写对元素展示样式的效果控制,在html文件中只写页面的结构,这样就实现了完全分离。
    在这里插入图片描述

缺点: 受到浏览器缓存影响, 修改之后 不一定 立刻生效.

关于缓存:

  • 这是计算机中一种常见的提升性能的技术手段.
  • 网页依赖的资源(图片/CSS/JS等)通常是从服务器上获取的. 如果频繁访问该网站, 那么这些外部资源就没必要反复从服务器获取. 就可以使用缓存先存起来(就是存在本地磁盘上了). 从而提高访问效率.
  • 可以通过 ctrl + F5 强制刷新页面, 强制浏览器重新获取 css 文件.

http://www.mrgr.cn/p/60364561

相关文章

YOLOv5改进 | 独家创新篇 | 利用MobileNetV4的UIB模块二次创新C3(全网独家首发)

一、本文介绍 本文给大家带来的改进机制是利用MobileNetV4的UIB模块二次创新C3&#xff0c;其中UIB模块来自2024.5月发布的MobileNetV4网络&#xff0c;其是一种高度优化的神经网络架构&#xff0c;专为移动设备设计。它最新的改动总结主要有两点&#xff0c;采用了通用反向瓶…

OpenHarmony 3.2 Release版本实战开发——Codec HDI适配过程

简介 OpenHarmony Codec HDI&#xff08;Hardware Device Interface&#xff09;驱动框架基于 OpenMax 实现了视屏硬件编解码驱动&#xff0c;提供 Codec 基础能力接口供上层媒体服务调用&#xff0c;包括获取组件编解码能力、创建组件、参数设置、数据的轮转和控制、以及销毁…

GPU通用计算介绍

谈到 GPU &#xff08;Graphics Processing Unit&#xff0c;图形显示卡&#xff09;大多数人想到的是游戏、图形渲染等这些词汇&#xff0c;图形处理确实是 GPU 的一大应用场景。然而人们也早已关注到它在通用计算上的巨大潜力&#xff0c;并提出了 GPGPU (General-purpose co…

Blender动画与云渲染:创造高质量作品的未来路径

Blender作为开源的3D图形软件&#xff0c;在多个领域广受欢迎。但随着项目复杂度提升&#xff0c;传统渲染方式受限。云渲染技术的兴起突破了这些限制&#xff0c;为创作者提供了更自由、高效的创作环境。 一、Blender动画项目的挑战 传统上&#xff0c;Blender动画渲染需要依…

Web安全研究(八)

Good Bot, Bad Bot: Characterizing Automated Browsing Activity S&P 2021 石溪大学 攻击者依赖于恶意的bot发现易受攻击的网站&#xff0c;并入侵服务器泄漏用户数据。因此了解恶意的bot相当重要。 作者设计了Aristaeus&#xff0c;用于部署大量蜜罐网站的系统&#xff…

Android的NDK开发中Cmake报缺少对应的x86的so文件

需要实现一个串口操作的命令。 供应商提供了2个so文件。 分别是 armeabi-v7a 和 arm64-v8a 添加到对应的cpp下。 在CMakeLists.txt里添加so文件 # 添加预编译的库 add_library(libxxx SHARED IMPORTED)# 设置库的路径 set_target_properties(libxxx PROPERTIES IMPORTED_…

C++校招八股

c类的访问权限与继承方式 公有成员在任何地方都可以被访问&#xff0c;包括类的外部和派生类。受保护成员在类的内部和派生类中可以被访问&#xff0c;但在类的外部不可访问。 私有成员只能在类的内部访问&#xff0c;包括类的成员函数和友元函数&#xff0c;不允许在类的外部…

大数据面试题 —— 数据仓库

目录 数据仓库是什么数据仓库和数据库的区别为什么要对数据仓库分层数仓分层&#xff0c;以及每一层的作用维度建模的三种模型范式建模、维度建模维度建模过程&#xff0c;如何确定这些维度 ***维度模型的各个维度之间是怎么聚合的聚合过程的数据倾斜怎么解决&#xff1f;数据质…

【FX110】2024外汇市场中交易量最大的货币对是哪个?

作为最大、最流动的金融市场之一&#xff0c;外汇市场每天的交易量高达几万亿美元&#xff0c;涉及到数百种货币。不同货币对的交易活跃程度并不一样&#xff0c;交易者需要根据货币对各自的特点去进行交易。 全年外汇市场中涉及美元的外汇交易超过50%&#xff01; 实际上&…

基于Vue3与ElementUI Plus的酷企秀场景可视化DIY设计器:前端技术引领下的数字化展示新篇章

一、引言 在当今信息化高速发展的时代&#xff0c;企业对于展示自身形象、提升用户体验以及增强品牌知名度的需求日益迫切。针对这一市场需求&#xff0c;我们推出了基于Vue3与ElementUI Plus的酷企秀场景可视化DIY设计器。该产品不仅具备电子画册、VR全景、地图秀三大核心功能…

MATLAB 三维空间中在两点之间等间隔插入多个点 (67)

MATLAB 三维空间中在两点之间等间隔插入多个点 (67) 一、算法介绍二、算法实现1.代码2.结果一、算法介绍 用于加密直线点云,具体为根据给定的直线端点,沿着该直线方向,插入多个点,从而加密。具体方法和效果如下所示: 二、算法实现 1.代码 代码如下(示例): % 定…

【Qt QML】Frame组件

Frame&#xff08;框架&#xff09;包含在&#xff1a; import QtQuick.Controls继承自Pane控件。用于在可视框架内布局一组逻辑控件。简单来说就是用来包裹和突出显示其他可视元素。Frame不提供自己的布局&#xff0c;但需要自己对元素位置进行设置和定位&#xff0c;例如通过…

C语言leetcode刷题笔记2

C语言leetcode刷题笔记2 第4题&#xff1a;283.移动零互换直接移动 第5题&#xff1a;122.买卖股票的最佳时机‖递归&#xff08;超时&#xff09;动态规划贪心算法 第6题&#xff1a;49.字母异位词分组优化 第4题&#xff1a;283.移动零 给定一个数组 nums&#xff0c;编写一…

艾体宝方案 | 加密USB金融解决方案

在现代金融行业中&#xff0c;保护敏感数据和合规性已成为至关重要的任务。为了帮助金融公司应对移动性风险和合规挑战&#xff0c;我们提供了一种高效的加密USB解决方案。 一、为什么金融公司需要加密USB解决方案 1、降低移动性风险 金融服务公司正在迅速过渡到一种模式&a…

智慧旅游引领未来风尚,科技助力旅行更精彩:科技的力量推动旅游业创新发展,为旅行者带来更加便捷、高效和智能的旅行服务

目录 一、引言 二、智慧旅游的概念与特点 &#xff08;一&#xff09;智慧旅游的概念 &#xff08;二&#xff09;智慧旅游的特点 三、科技推动旅游业创新发展 &#xff08;一&#xff09;大数据技术的应用 &#xff08;二&#xff09;人工智能技术的应用 &#xff08;…

Vue从入门到实战Day03

一、生命周期 1. 生命周期四个阶段 思考&#xff1a; ①什么时候可以发送初始化渲染请求&#xff1f; 答&#xff1a;越早越好&#xff0c;在创建阶段后 ②什么时候可以开始操作DOM&#xff1f; 答&#xff1a;至少DOM得渲染出来&#xff0c;在挂载阶段结束后。 Vue生命周…

API低代码平台介绍2-最基本的数据查询功能

最基本的数据查询功能 本篇文章我们将介绍如何使用ADI平台定义一个基本的数据查询接口。由于是介绍平台具体功能的第一篇文章&#xff0c;里面会涉及比较多的概念介绍&#xff0c;了解了这些概念有助于您阅读后续的文章。 ADI平台的首页面如下&#xff1a; 1.菜单介绍 1.1 O…

C++ 动态内存管理

例如&#xff1a;动态内存和释放单个数据的存储区 一 用new运算符初始化单个数据的存储区 举例

Linux-信号执行

1. 信号什么时候被处理 当进程从内核态返回到用户态的时候&#xff0c;进行信号的检测和处理 什么内核态&#xff0c;什么又是用户态呢&#xff1f; 当进程在CPU上运行时&#xff0c;内核态&#xff1a;允许进程访问操作系统的代码和数据&#xff0c;用户态&#xff1a;进程只…