若实现效果如下,css伪类可以把握的死死的↓↓↓

android 获取父元素的宽度 css获取父元素_css伪类


android 获取父元素的宽度 css获取父元素_List_02


举个栗子:

<div class="contents">
    <div>1</div>
    <div>2</div>
    <div>3</div>
</div>
<style>
.contents{
  display: flex;
  flex-direction: row;
  justify-content: space-around;
}
.contents div{
    height: 150px;
    line-height: 150px;
    width: 150px;
    background: #ccc;
    text-align: center;
    color:#fff;
}
</style>

方法一:
:not(selector) 选择器匹配非指定元素/选择器的每个元素。
:first-child 选择器用于选取属于其父元素的首个子元素的指定选择器。
<style> .contents div:not(:first-child){ background:blue; } </style> 方法二:
使用nth-of-type()或者nth-child()。
(n是从0开始的,那么n+2自然就是从第2个元素开始了,同理如果选中单数元素那么就是2n+1,如果是想选中双数元素,那么就应该写成2n+2;具体情况可以根据项目情况使用。)

<style>
.contents div:nth-of-type(n+2){
	background:blue;
}
</style>

或者:

<style>
.contents div:nth-child(n+2){
	background:blue;
}
</style>

方法三:巧妙使用+或者~兄弟选择符 。
(+ 选择器:如果需要选择紧接在另一个元素后的元素,而且二者有相同的父元素,可以使用相邻兄弟选择器。~ 选择器 :作用是查找某一个指定元素的后面的所有兄弟结点。)

<style>
.contents div+div{
   background:blue;
}
</style>

或者:

<style>
.contents div~div{
  background:blue;
}
</style>

说明:css兄弟选择器(+ 和 ~)的区别和效果,如下本人是做一个操作备忘,学习啦css兄弟选择器(+ 和 ~)的使用和区别 1.+ 选择器
如果需要选择紧接在另一个元素后的元素,而且二者有相同的父元素,可以使用相邻兄弟选择器。 比如:

<p>This is paragraph.</p>
<h1>This is a heading.</h1>
<p>This is paragraph.</p>

<style type="text/css">
    h1 + p {
        margin-top:50px;
        color:red;
    }
</style>

效果如下:

android 获取父元素的宽度 css获取父元素_android 获取父元素的宽度_03


兄弟选择器只会影响下面的p标签的样式,不影响上面兄弟的样式。

注意这里的’+’的意义跟’and’意义不一样,兄弟选择器的样式是应用在兄弟元素上,跟参照的元素样式无关,如上例只影响p元素的样式,而不影响h1标签的样式。 当然这个也会循环查找,即当两个兄弟元素相同时,会一次循环查找:

<div>
  <ul>
    <li>List item 1</li>
    <li>List item 2</li>
    <li>List item 3</li>
  </ul>
</div>
<style type="text/css">
    li + li {
        color:red;
    }
</style>

运行之后第一个li字体颜色没有变红,第二个和第三个元素字体变红,这就是因为第三个li是第二个li的兄弟元素,所以也会应用样式。
2. ~ 选择器
作用是查找某一个指定元素的后面的所有兄弟结点。 示例代码:

<p>1</p>
<h3>2</h3>
<p>3</p>
<p>4</p>
<p>5</p>
<style type="text/css">
    h1 ~ p{
        color:red;
    }
</style>

运行之后h3标签之后的p标签包裹的字体都是呈红色。