伪类选择器、清除浮动

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了伪类选择器、清除浮动相关的知识,希望对你有一定的参考价值。

参考技术A CSS 伪类 用于向某些选择器添加特殊的效果。(折角、抬头、箭头)

锚伪类 就是在支持 CSS 的浏览器中,链接的不同状态都可以不同的方式显示,这些状态包括:已被访问状态,未被访问状态,鼠标悬停状态、活动状态(选定)。

a:linkcolor: #FF0000/* 未访问的链接 */

a:visitedcolor: #00FF00/* 已访问的链接 */

a:hovercolor: #FF00FF/* 鼠标移动到链接上 */(hover可用于所有元素,不只是链接)

a:activecolor: #0000FF/* 选定的链接 */

注:在 CSS 定义中,a:hover 必须被置于 a:link 和 a:visited 之后,才是有效的;a:active 必须被置于 a:hover 之后,才是有效的。链接可以设置字体颜色,字体大小,字体类型,背景颜色等等。

①选择<li>列表中的第一个元素并设置其样式:

li:first-childbackground:yellow;

注:和②的区别是,无论是<ul>,还是<ol>,第一个元素样式都是一样

②设置每个<ul>的首个子元素,并设置其样式:

ul>:first-childbackground:yellow;

注:只有<ul>中第一个元素改变

③没太理解(如下图)

:first-child 匹配的是某父元素的第一个子元素,可以说是结构上的第一个子元素。

:first-of-type 匹配的是某父元素下相同类型子元素中的第一个,比如 p:first-of-type,就是指所有类型为p的子元素中的第一个。这里不再限制是第一个子元素了,只要是该类型元素的第一个就行了。

一.加一个空元素,<div class="clear"></div>,然后在css里面写语句clearclear:both;就可以可清除浮动。(之前7.20写过)

二.在css样式中添加语句overflow:hidden;或overflow:auto;可以清除浮动,例如为父元素设置容器宽高或设置 *zoom:1。(浮动元素又回到了容器层,把容器高度撑起)等方法

为什么要清除浮动,在非IE浏览器下,当容器的高度为auto,且容器的内容中有浮动的元素,在这种情况下,容器的高度不能自动伸长以适应内容的高度,使得内容溢出到容器外面而影响布局的现象。这个现象叫浮动溢出,为了防止这个现象的出现而进行的CSS处理。

使用 after 伪类清除浮动

以前清除浮动的时候总是在想要清除浮动的元素后面添加

1 <div style="clear:both;"></div>

或者写在br标签里面来解决,但这样会增加无语义的标签,下面是用after伪类实现,兼容多种浏览器

1 .clearfix:after{
2     content:"";
3     display:block;
4     height:0;
5     clear:both;
6     visibility:hidden;
7 }

为兼容IE6,IE7,因为ie6,ie7不能用after伪类。加上下面代码

1 .clearfix{zoom:1}

一般情况下,如果父层内部有浮动(float)可能导致父层的高度为0,加上clearfix后就行了

HTML:

1 <div class="parent clearfix">
2     <div class="left">left</div>
3     <div class="right">right</div>
4 </div>

CSS:

 1 .clearfix{zoom:1}    
 2 .clearfix:after{
 3     content:"";
 4     display:block;
 5     height:0;
 6     clear:both;
 7     visibility:hidden;
 8 }
 9 .parent{
10     background-color:red;
11     width:120px;
12 }
13 .left{
14     float:left;
15     background-color:pink;
16     height:60px;
17 }
18 .right{
19     float:right;
20     background-color:#abcdef;
21 }

 

以上是关于伪类选择器、清除浮动的主要内容,如果未能解决你的问题,请参考以下文章

CSS :hover伪类选择器

伪元素和伪类

如何用js控制css伪类after

Web前端-CSS基础与应用

Web前端-CSS基础与应用

CSS伪类--锚伪类选择器(动态伪类选择器)-使用详细总结