CSS 伪元素::before和::after的使用
特性
都作为标签内部的第一个/最后一个子元素
行内元素(无法设置宽高)
content属性必填(若没有就’’)
使用场景
文字前的图标
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| <style> span::before { display: inline-block; content: ''; background: url(home.png) no-repeat; width: 50px; height: 50px; background-size: cover; vertical-align: bottom; } </style> <body> <span>这是一个图片</span> </body>
|
导航的跟随线
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| <style> ul { list-style: none; }
li { float: left; width: 120px; height: 20px; text-align: center; }
li::after { margin: 0 auto; display: block; content: ''; width: 50px; height: 2px; background-color: tomato;
} </style> </head>
<body> <div> <ul> <li>我是一个列表项</li> <li>我也是一个</li> </ul> </div> </body>
|
清除浮动的影响
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| <style> ul { background-color: teal; }
li { width: 200px; height: 100px; background-color: tomato; float: left; } </style> </head>
<body> <ul> <li></li> <li></li> <li></li> </ul> </body>
|
在ul后加上一个子元素来清除浮动影响
1 2 3 4 5
| ul::after { content: ''; display: block; clear: both; }
|
![](https://img-blog.csdnimg.cn/20200718165038390.png)
ps:左边和上边的是padding与margin的自带距离,使用全局`*{margin:0;padding:0;}`即可