每日消息!CSS:好玩的‘伪类’系列之——(:only-child与:only-of-type)  例子说明

发布时间:   来源:CSDN  

:only-child


【资料图】

官方定义:当当前元素的父元素,有且只有它本身一个子元素(DOM节点)时,修改其样式

:only-of-type

官方定义:当当前元素在其父元素的子元素序列中,没有其它相同兄弟元素(唯一的,有且只有一个它本身)时,修改其样式

注意:

在官方文档中,这两个伪类的定义如上所述(在我理解中),但亲自测试后,发现,这两个伪类所实现的效果竟然一样(见下面案例),因此这里特别记录下,另外,考虑到本人才疏学浅,可能没有正确的使用到这两个伪类,如果有知道正解的看官,烦请不吝赐教,感激不尽!

触发条件:(自己总结),当当前元素,在整个html文档中、或在其父元素的所有子元素序列中,有且只有一个它本身(没有其他相同兄弟元素)、或在其父元素的子元素中,只有它本身,修改其样式

兼容:IE8及8以下不支持 Opera9.5以下不支持

举个栗子

html代码:(为了避免权重问题,我分别为案例中所有的元素取了class名)

我是div下的span(唯一的)    我是div下的i(唯一的)      我是div下的p1我是div下的p2我是div下的span(唯一的)    在整个html文档中,我是唯一的b元素

css代码:

.main{  width: 40%;}.div{  margin-bottom: 30px;  width: 100%;  border: 1px solid #eee;}.p{  width: 100%;  font-size: 14px;  line-height: 20px;  text-align: center;  color:#660033;}.main:only-child{  display: inline-block;  text-align: left;/* 左对齐 */  color:#99FF33;/* 绿色 */}/* 下面的声明覆盖了上面的声明 */.main:only-of-type{  display: inline-block;  text-align: right;/* 右对齐 */  color:red;/* 红色 */}

效果图:

相关文章Related

返回栏目>>