发布时间:2023-04-21 文章分类:WEB开发, 电脑百科 投稿人:赵颖 字号: 默认 | | 超大 打印

文章目录

  • 一. CSS基本规范
    • 1. 基本语法格式
    • 2. 在HTML引入CSS
    • 3. 选择器分类
  • 二. CSS常用属性
    • 1. 文本属性
    • 2. 文本格式
    • 3. 背景属性
    • 4. 圆角矩形和圆
    • 5. 元素的显示模式
    • 6. CSS盒子模型
    • 7. 弹性布局

光使用HTML来写一个前端页面的话其实只是写了一个大体的框架, 整体的页面并不工整美观, 而CSS可以在HTML的基础之上将页面优化的非常好看, HTML只是描述了网页的结构和有什么内容(也就是让网页有了 “骨”), 而CSS可以自由的设置网页的布局和样式(包括大小/位置/字体/颜色/背景等), 可以让网页的内容充实起来(让网页有了 “皮和肉”), CSS也叫层叠样式表, 一个元素可以运用多组样式, 有多层叠加的效果.

一. CSS基本规范

1. 基本语法格式

选择器+{一条/N条声明}

注意:

前端基础之CSS扫盲

2. 在HTML引入CSS

🎯1. 内部样式

写在style标签中然后嵌入到html代码内部, 理论上来说style可以放到html的任何位置, 但是一般都是放到head标签中, 内部样式的优点是能够让样式和页面结构分离, 缺点在于分离的还不够彻底, 尤其是CSS内容多的时候, 所以建议在CSS代码比较简单的时候使用内部样式.

前端基础之CSS扫盲

在本篇博客中涉及到的代码都比较简单, 所以主要就使用内部样式来介绍了.

🎯2. 内联样式

使用HTML标签中的style属性来针对指定元素设置样式, 这种写法适合于非常简单的样式, 只针对某一个标签有效.

前端基础之CSS扫盲

🎯3. 外部样式

把CSS代码写到一个单独的.css文件当中, 再通过link标签将CSS文件引入到HTML代码中, 这种写法让HTML的代码和CSS彻底分离了, 实际开发中使用的也一般是这种外部样式, 缺点是可能受到浏览器缓存影响, CSS效果不一定能立刻生效.

语法格式:

<link rel="stylesheet" href="CSS文件路径">

前端基础之CSS扫盲

前端基础之CSS扫盲

显示效果:

前端基础之CSS扫盲

3. 选择器分类

CSS的选择器包括两类, 一类是基础选择器, 另一类是复合选择器; 基础选择器是由单个选择器构成的, 包括标签选择器, 类选择器, id选择器, 通配符选择器等;
复合选择器是把多种基础选择器综合运用起来, 包括后代选择器, 子选择器, 并集选择器, 伪类选择器等.

🎯1. 标签选择器

像上面使用内部样式或者外部样式那样, 大括号前面带一个标签名的就是标签选择器, 此时会针对一个html中所有的指定标签进行设置应用, 特点是能快速把同一类型的标签都选择出来, 但是不能差异化选择.

选择的标签 {
	CSS属性;
}

🎯2. 类选择器

类选择器可以随心所欲地选择想要设置元素, 首先用.+class类名来定义一个类, 后面跟着{}写CSS属性, HTML标签可以使用class属性来调用类将类中属性应用到页面元素中, 特点是可以差异化的表示不同的标签, 可以让多个标签的都使用同一个类, 也可以让一个标签使用多个类, 使用类选择器可以把相同的属性提取出来, 达到简化代码的效果.

.class属性值 {
	CSS属性;
}

前端基础之CSS扫盲

显示效果:

前端基础之CSS扫盲

🎯3. id选择器

html中页面中的每个元素都是可以设置一个全局唯一的id属性的, CSS中使用#+id名来表示id选择器, id选择器的值和html中某个元素的id值相同, id选择器只能针对唯一的元素生效.

#id属性值 {
  CSS属性;
}

前端基础之CSS扫盲

显示效果:

前端基础之CSS扫盲

🎯4. 通配选择器

通配符选择器直接使用*来直接选择页面上所有的元素, 这个选择器可以设置页面的默认样式, 通常用来清除浏览器的默认样式.

*{
	CSS属性;
}

前端基础之CSS扫盲

前端基础之CSS扫盲

🎯5. 后代选择器

后代选择器可以通过把多个简单的基础选择器组合, 找到某一元素的子元素或孙子等更后代的元素进行设置应用, 选择器之间必须用空格隔开.

/*选择器中间必须有空格*/
选择器1 选择器2{
	属性;
}

代码示例1: 把ol中的li修改颜色, 不影响ul.

前端基础之CSS扫盲

显示效果:

前端基础之CSS扫盲

代码示例2: 选择器2不一定非是儿子, 也可以是孙子.

前端基础之CSS扫盲

显示效果:

前端基础之CSS扫盲

代码示例3: 可以是任意基础选择器的组合(包括类选择器, id 选择器).

前端基础之CSS扫盲

显示效果:

前端基础之CSS扫盲

🎯6. 子选择器

子选择器也是把多个简单的子选择器组合起来, 能够匹配到某个元素中的子元素, 但更后代元素不能被选择, 这是和后代选择器的区别, 子选择器的父子元素之间使用>分隔开来.

选择器1>选择器2{
	CSS属性;
}

前端基础之CSS扫盲

显示效果:
前端基础之CSS扫盲

🎯7. 并集选择器

就是让多组选择器应用同样的样式, 选择器可以是基础的, 也可以是复合的, 多组选择器之间通过,分隔.

选择器1,选择器2,...{
	CSS属性;
}

前端基础之CSS扫盲

显示效果:

前端基础之CSS扫盲

🎯8. 伪类选择器

伪类选择器是复合选择器的特殊用法, 让元素在不同的状态下可以有不同的表现, 语法上前面一个选择器表示是选中某个元素, 后面的伪类选择器是选中某个元素的某个特定的状态.

选择器:伪类选在器 {
	CSS属性;
}

比如这几个伪类选择器:

简单的演示一下, 其他的就不多说了, 因为我也没有多了解, 不过想用查一查就行了.

前端基础之CSS扫盲

显示效果:
前端基础之CSS扫盲

二. CSS常用属性

1. 文本属性

前端基础之CSS扫盲

显示效果:

前端基础之CSS扫盲

2. 文本格式

前端基础之CSS扫盲

前端基础之CSS扫盲

显示效果:

前端基础之CSS扫盲

3. 背景属性

background系列属性的加持下, div等任何一个元素都可以用来显示图片, 而且提供的功能比img标签还更强大, 使用background-image属性添加背景图片, 默认情况下, 如果背景图片较小, 会自动平铺多张相同的背景图片填满元素区域, 如果背景图片较大, 会截取一部分填满元素区域.

前端基础之CSS扫盲

前端基础之CSS扫盲

可以使用background-repeat取消平铺效果.

前端基础之CSS扫盲

前端基础之CSS扫盲

还可以让图片与文字处于元素中心位置, 图片使用background-position属性设置, 文字的话先让行高和元素高度相同完成垂直居中, 再让文字水平居中即可.

前端基础之CSS扫盲

前端基础之CSS扫盲

还可以设置图片的大小, 这里对比一下containcover的效果,

前端基础之CSS扫盲

前端基础之CSS扫盲

4. 圆角矩形和圆

首先看没有经过处理的矩形:

前端基础之CSS扫盲

显示效果:

前端基础之CSS扫盲

使用border-radius属性后得到的矩形:

前端基础之CSS扫盲

显示效果:

前端基础之CSS扫盲

如果元素的widthhiight值是相同的(正方形), 当border-tadius属性的值为width/hiight的一半时, 可以生成圆形, border-tadius属性的值设置为50%也可以做到相同的效果, 也可以让四个角分别进行处理也是一样的.

前端基础之CSS扫盲

显示效果:

前端基础之CSS扫盲

5. 元素的显示模式

显示模式这里主要介绍行内元素和块级元素, 主要有如下区别:

a标签是一个行内元素, 是独占一行的, 且修改宽高都是无效的,

前端基础之CSS扫盲

显示效果:

宽高修改无效

前端基础之CSS扫盲

我们可以通过display修改样式, block改成块级元素, inline改成行内元素, inline-block改成行内块元素, 这里将a元素修改为块级元素.

前端基础之CSS扫盲

显示效果:

前端基础之CSS扫盲

display还可以隐藏元素, 当display的值为none时, 元素在页面上不显示, 但是可以通过开发者工具查看到该元素.

6. CSS盒子模型

CSS盒子模型描述了HTML元素的基本布局规则, 这个盒子由外边距, 边框, 内边距, 内容, 由外到里四部分组成, 通过这几个属性可以控制元素之间/元素和内容之间的相对位置.

前端基础之CSS扫盲

设置边框, 主要设置的是边框粗细border-width, 颜色border-color, 线型border-style(实线solid, 虚线dashed, 点线dotted), 设置元素的边框和内外边距会撑大原有元素大小, 容易破坏页面的整体格式,

前端基础之CSS扫盲

前端基础之CSS扫盲

我们可以通过设置box-sizing的值为border-box来改变这种特性, 让元素盒子不会被撑大.

前端基础之CSS扫盲

前端基础之CSS扫盲

设置内边距:
前端基础之CSS扫盲

设置外边距:
前端基础之CSS扫盲

要注意marginauto(让浏览器自动调节)值可以让元素水平居中, 但不能设置达到垂直居中的效果.

前端基础之CSS扫盲

7. 弹性布局

我们知道块级元素是独占一行的, 默认是垂直方向排列的, 而无法进行水平方向的排列; 行内元素虽然是在水平方向上排列的, 但是不适合进行水平布局, 因为尺寸边距这些都是不可设置的; 行内块元素可以设置尺寸, 边距也生效, 但是默认不独占一行, 同时行内块元素和行内元素一样, 都会把源码中的换行当做一个空格, 也会对页面元素布局产生不必要的影响, 而弹性布局的出现主要就是为了方便各种元素的水平方向排列而设置的, 是水平布局最合适的方案.

先来看的原始的块级元素默认的垂直方向布局:

前端基础之CSS扫盲

前端基础之CSS扫盲

我们给父级元素开启弹性布局, 即将display属性值为flex, 此时弹性容器内的元素, 就不再是 “块级/行内/行内块元素了”, 而是成为了 “弹性元素” 了, 块级元素也就不是再向下生长了, 而是遵守弹性布局, 会向右生长, 也可以设置尺寸和边距.

前端基础之CSS扫盲

前端基础之CSS扫盲

可以通过justify-content属性来决定水平方向的排列方式, fiex-start表示靠左排列, fiex-end表示靠右排列, center表示居中排列.

前端基础之CSS扫盲

前端基础之CSS扫盲

水平方向上还可以选择让元素有间隔的的排列.

前端基础之CSS扫盲

前端基础之CSS扫盲

前端基础之CSS扫盲

可以通过align-items属性来决定垂直方向的排列方式, fiex-start表示靠顶部排列, fiex-end表示靠底部排列, center表示垂直居中排列.

前端基础之CSS扫盲

要注意align-items只能针对单行元素来实现, 如果有多行元素, 就需要使用item-contents了.