学成在线项目(效果图)
(缩放图标脱离,暂时忘了怎么改了):解决方案给search加相对定位,button加绝对定位完美解决,输入框压边加overflow:hidden
(改变后效果图)
腾讯云效果(Day6/homework)
一、结构伪类选择器
(1)作用与优势:
-
作用:根据元素在HTML中的结构关系查找元素
-
优势:减少对于HTML中类的依赖,有利于保持代码整洁
-
场景:常用于查找某父级选择器中的子元素
(2)选择器
n: 0、1、2、3、4、5、6、…
扩展: 用伪类标签选择 (选择第一个li里面的a) li: nth-chilid(1) a{ }
扩展::nth-of-type(n) 选择器匹配属于父元素的特定类型的第 N 个子元素的每个元素. n 可以是数字、关键词或公式。
二、伪元素(做一些装饰的样式)
➢ 伪元素:一般页面中的非主体内容可以使用伪元素
➢ 区别:
-
元素:HTML 设置的标签
-
伪元素:由 CSS 模拟出的标签效果
➢ 种类:
➢ 注意点:
-
必须设置content属性才能生效 (content不可省略,即便是‘’也别须有)
-
伪元素默认是行内元素
三、标准流(标签默认的排列规则:换行?)
➢ 标准流:又称文档流,是浏览器在渲染显示网页内容时默认采用的一套排版规则,规定了应该以何种方式排列元素
➢ 常见标准流排版规则:
-
块级元素:从上往下,垂直布局,独占一行
-
行内元素 或 行内块元素:从左往右,水平布局,空间不够自动折行
四、浮动
1.1 浮动的作用
➢ 早期的作用:图文环绕
➢ 现在的作用:网页布局
• 场景:让垂直布局的盒子变成水平布局,如:一个在左,一个在右
!!! 浏览器在解析行内块或行内标签时,遇到换行会默认给一个空格间距 (所以不推荐使用display解决元素换行问题,直接用浮动float)
➢ 属性名:float
➢ 属性值
3.1 浮动的特点
- 浮动元素会脱离标准流(简称:脱标),在标准流中不占位置
• 相当于从地面飘到了空中(one设置了浮动)
-
浮动元素比标准流高半个级别,可以覆盖标准流中的元素
-
浮动找浮动,下一个浮动元素会在上一个浮动元素后面左右浮动
-
浮动元素有特殊的显示效果
• 一行可以显示多个
• 可以设置宽高
➢ 注意点:
• 浮动的元素不能通过text-align:center或者margin:0 auto (浮动后的标签,具备了行内块标签属性)
css书写规则
1、浮动/display 2、盒子模型:margin/border/padding 、宽高背景色 3、文字样式 (浏览器执行效率高)
(补充)margin和padding区别
margin是用来隔开元素与元素的间距;padding是用来隔开元素与内容的间隔。 margin用于布局分开元素使元素与元素互不相干; padding用于元素与内容之间的间隔,让内容(文字)与(包裹)元素之间有一段“呼吸距离”
五、清除浮动
1.1 清除浮动的介绍
➢ 含义:清除浮动带来的影响
• 影响:如果子元素浮动了,此时子元素不能撑开标准流的块级父元素 (所以父元素必须要有高度,但这种不可取,有些布局中不能固定父元素高度。如:新闻列表、京东推荐模块)
- 解决方案: (1)额外标签法
➢ 操作:
-
在父元素内容的最后添加一个块级元素
-
给添加的块级元素设置 clear:both (css样式,清除左右两侧浮动的影响)
➢ 特点:
• 缺点:会在页面中添加额外的标签,会让页面的HTML结构变得复杂
(2)单伪元素清除法
➢ 操作:用伪元素替代了额外标签
① :基本写法
② :补充写法(解决兼容性IE)
➢ 特点:
• 优点:项目中使用,直接给标签加类即可清除浮动
(3)双伪元素清除法
➢ 操作:(解决外边距塌陷现象:父子级都是块级标签,子级加margin-top会影响父级位置,给父元素加overflow:hidden;)
➢ 特点:
• 优点:项目中使用,直接给标签加类即可清除浮动
(4) 给父元素设置overflow : hidden
➢ 操作:
- 直接给父元素设置 overflow : hidden
➢ 特点:
•优点:方便
➢ 原因:
• 子元素浮动后脱标 → 不占位置
➢ 目的:
• 需要父元素有高度,从而不影响其他网页元素的布局
(拓展补充)BFC的介绍
➢ 块格式化上下文(Block Formatting Context):BFC
• 是Web页面的可视CSS渲染的一部分,是块盒子的布局过程发生的区域,也是浮动元素与其他元素交互的区域。
➢ 创建BFC方法:
-
html标签是BFC盒子
-
浮动元素是BFC盒子
-
行内块元素是BFC盒子
-
overflow属性取值不为visible。如:auto、hidden…
-
……
➢ BFC盒子常见特点:
-
BFC盒子会默认包裹住内部子元素(标准流、浮动)→ 应用:清除浮动
-
BFC盒子本身与子元素之间不存在margin的塌陷现象 → 应用:解决margin的塌陷
-
……