今天主要写一下伪元素和浮动的相关内容:
浮动:
float:left/right;
这个属性可以让块级元素在一行排队,左浮(left)就是从左向右排,右浮(right)就是从右向左排,并且可以加 margin 值等等,排队的边界就是父级的边界,到了边界后就会另起一行继续排。浮动元素产生了浮动流,所有产生了浮动流的元素,块级元素看不到他们,产生了 bfc 的元素和文本类属性的元素(inline)以及文本都能看到浮动元素。
伪元素:
标签名::before/after{css 样式},content:“内容”;
(以上是通过css选中伪元素的样式,双冒号选中)
每一个HTML元素里面天生带两个伪元素(最前面和最后面),伪元素可以当普通元素使用,可以设置css样式,但是它没有HTML结构。可以给前后的伪元素加内容,他的内容天生就存在于这个标签里,即使里边没有内容,也必须加上content,写成 content:“ ”;
包裹浮动元素:浮动元素的父级的宽在没有设置的情况下显示不了,因为父级是块级元素,块级元素看不到浮动元素,所以包不住子集。
包裹浮动元素的解决办法:
[
- 给这个受浮动 流影响的元素设置 clear:both;,设置了之后就会清除浮动流,把浮动元素的父级给撑开,父级的宽就会显示出来了,他自己也就下来了。注意设置清除浮动的元素必须是块级元素,这个办法可以实现,但是不能用,因为 HTML是框架,不能随便更改。
- 把父级元素后边的伪元素调用出来content=“”;,然后转为块级元素,再清除浮动。如
div::after { content: ""; display: block; <!-变成块级元素--> clear: both; }
- 触发父级的bfc:凡是设置了 float:left/right 或者 position:absolute 的元素内部会自动把 他转化为行级块元素(inline-block)
浮动的应用:
浮动最开始是应用于报纸的布局,实现文字环绕图片的功能,但是后来浮动的应用就越来越复杂了,所以我们所看到的网页上的导航栏都可以用浮动来解决,例如淘宝网上的“天猫 聚划算 天猫超市”,图片由于网速不好上传不了,自己上淘宝网看哈!
就到这里了,要赶紧复习前面的知识和学习新东西勒!