Day6

111 阅读5分钟

git地址

学成在线项目(效果图)

(缩放图标脱离,暂时忘了怎么改了):解决方案给search加相对定位,button加绝对定位完美解决,输入框压边加overflow:hidden image.png (改变后效果图)

image.png

腾讯云效果(Day6/homework)

image.png

一、结构伪类选择器

(1)作用与优势:

  1. 作用:根据元素在HTML中的结构关系查找元素

  2. 优势:减少对于HTML中类的依赖,有利于保持代码整洁

  3. 场景:常用于查找某父级选择器中的子元素

(2)选择器

image.png

n: 0、1、2、3、4、5、6、…

image.png

扩展: 用伪类标签选择 (选择第一个li里面的a) li: nth-chilid(1) a{ }

image.png 扩展::nth-of-type(n) 选择器匹配属于父元素的特定类型的第 N 个子元素的每个元素. n 可以是数字、关键词或公式。

image.png

二、伪元素(做一些装饰的样式)

➢ 伪元素:一般页面中的非主体内容可以使用伪元素

➢ 区别:

  1. 元素:HTML 设置的标签

  2. 伪元素:由 CSS 模拟出的标签效果

➢ 种类:

image.png

➢ 注意点:

  1. 必须设置content属性才能生效 (content不可省略,即便是‘’也别须有)

  2. 伪元素默认是行内元素

三、标准流(标签默认的排列规则:换行?)

➢ 标准流:又称文档流,是浏览器在渲染显示网页内容时默认采用的一套排版规则,规定了应该以何种方式排列元素

➢ 常见标准流排版规则:

  1. 块级元素:从上往下,垂直布局,独占一行

  2. 行内元素 或 行内块元素:从左往右,水平布局,空间不够自动折行

四、浮动

1.1 浮动的作用

➢ 早期的作用:图文环绕

image.png

➢ 现在的作用:网页布局

• 场景:让垂直布局的盒子变成水平布局,如:一个在左,一个在右 image.png

!!! 浏览器在解析行内块或行内标签时,遇到换行会默认给一个空格间距 (所以不推荐使用display解决元素换行问题,直接用浮动float)

➢ 属性名:float

➢ 属性值

image.png

3.1 浮动的特点

  1. 浮动元素会脱离标准流(简称:脱标),在标准流中不占位置

• 相当于从地面飘到了空中(one设置了浮动)

image.png

  1. 浮动元素比标准流高半个级别,可以覆盖标准流中的元素

  2. 浮动找浮动,下一个浮动元素会在上一个浮动元素后面左右浮动 image.png

  3. 浮动元素有特殊的显示效果

• 一行可以显示多个

• 可以设置宽高

➢ 注意点:

• 浮动的元素不能通过text-align:center或者margin:0 auto (浮动后的标签,具备了行内块标签属性)

css书写规则

1、浮动/display 2、盒子模型:margin/border/padding 、宽高背景色 3、文字样式 (浏览器执行效率高)

(补充)margin和padding区别

margin是用来隔开元素与元素的间距;padding是用来隔开元素与内容的间隔。 margin用于布局分开元素使元素与元素互不相干; padding用于元素与内容之间的间隔,让内容(文字)与(包裹)元素之间有一段“呼吸距离”

五、清除浮动

1.1 清除浮动的介绍

➢ 含义:清除浮动带来的影响

• 影响:如果子元素浮动了,此时子元素不能撑开标准流的块级父元素 (所以父元素必须要有高度,但这种不可取,有些布局中不能固定父元素高度。如:新闻列表、京东推荐模块)

image.png

  • 解决方案: (1)额外标签法

➢ 操作:

  1. 在父元素内容的最后添加一个块级元素

  2. 给添加的块级元素设置 clear:both (css样式,清除左右两侧浮动的影响)

➢ 特点:

• 缺点:会在页面中添加额外的标签,会让页面的HTML结构变得复杂

(2)单伪元素清除法

➢ 操作:用伪元素替代了额外标签

① :基本写法

image.png

② :补充写法(解决兼容性IE)

image.png

➢ 特点:

• 优点:项目中使用,直接给标签加类即可清除浮动

(3)双伪元素清除法

➢ 操作:(解决外边距塌陷现象:父子级都是块级标签,子级加margin-top会影响父级位置,给父元素加overflow:hidden;)

image.png

➢ 特点:

• 优点:项目中使用,直接给标签加类即可清除浮动

(4) 给父元素设置overflow : hidden

➢ 操作:

  1. 直接给父元素设置 overflow : hidden

➢ 特点:

•优点:方便

➢ 原因:

• 子元素浮动后脱标 → 不占位置

➢ 目的:

• 需要父元素有高度,从而不影响其他网页元素的布局

(拓展补充)BFC的介绍

➢ 块格式化上下文(Block Formatting Context):BFC

• 是Web页面的可视CSS渲染的一部分,是块盒子的布局过程发生的区域,也是浮动元素与其他元素交互的区域。

➢ 创建BFC方法:

  1. html标签是BFC盒子

  2. 浮动元素是BFC盒子

  3. 行内块元素是BFC盒子

  4. overflow属性取值不为visible。如:auto、hidden…

  5. ……

➢ BFC盒子常见特点:

  1. BFC盒子会默认包裹住内部子元素(标准流、浮动)→ 应用:清除浮动

  2. BFC盒子本身与子元素之间不存在margin的塌陷现象 → 应用:解决margin的塌陷

  3. ……