我们需要达到的效果:

需要什么

1张图片的, 2张图片的, 3张图片的样式各不相同。可以使用js完成子元素的判断,但是这里我使用css来完成

核心知识点

使用css选择器完成子元素的判断

例子:

  • 用css选择器匹配只有一个元素

div {
&:last-child:nth-child(1) {
// 相关样式
}
}

很好理解:div下面即是最后一个元素也是第一个元素不就是只有一个子元素吗?

  • 用css选择器匹配只有两个子元素

div{
&:last-nth-child(2):nth-child(2) { }
}

依样画瓢:最后第二个元素也是第二个元素不就代表,这个div下只有两个元素吗

完成样式

  • html部分

``` <div class="box" v-for="(item,index) in list" :key="index">
<div class="header">
<img :src="item.userImage" alt="">
<span>{{item.name}}</span>
</div>
<div class="content">
<img :src="v" alt="" v-for="(v, i) in item.imageUrl" :key="i">
</div>
<div class="bottom">
<span class="left-icon">{{item.createTime}}</span>
<div class="right">
<img src="./img/6.1.png" alt="">
<span>{{item.fabulousNumber}}</span>
</div>
</div>
</div>
```

  • css部分

.box {
padding: 0.26rem; .header {
display: flex;
align-items: center; img {
width: 0.58rem;
height: 0.58rem;
margin-right: 0.17rem;
}
} .bottom {
display: flex;
justify-content: space-between;
align-items: center;
color: #999999;
font-size: 0.17rem; img {
width: 0.17rem;
height: 0.17rem;
}
} .content {
display: flex;
margin: 0.17rem 0; img {
flex: 1;
height: 1.37rem;
width: 0;
margin-right: 0.09rem;
&amp;:last-child {
margin-right: 0;
}
&amp;:last-child:nth-child(1) {
height: 2.75rem;
}
}
}
}

来源:https://segmentfault.com/a/1190000017524238

用css完成根据子元素不同书写样式的更多相关文章

  1. weex中css不能使用子元素选择器

    weex中css不能使用子元素选择器 刚入手可能会有错误,有误导地方请谅解,不过都是亲身踩坑

  2. 小程序scroll-view组件使用时,子元素虽设置样式display:inline-flex;whit-space:nowrap

    小程序scroll-view组件使用时,子元素虽设置样式display:inline-flex;whit-space:nowrap

  3. css 选择器之子元素

    /*html*/ <div class="wrap"> <span>1</span> <span>2</span> &l ...

  4. css 文字和子元素水平垂直居中

    关于水平垂直居中,这是一个很简单的问题,但是很多时候,往往简单的东西,反而做不出来.这就是基础不扎实的缘故吧,我参照一些资料,总结了水平垂直居中的几种方法如下: 1 .文字水平垂直居中 这个比较简单, ...

  5. 透视 HTML子元素的margin-top样式会应用在父元素上的原由

    情况说明 当对页面中元素设置margin-top样式时,如果该元素有父元素,则margin-top会应用与父元素,子元素的top与父元素的top重叠.举例说明 <style>body{ma ...

  6. CSS 控制鼠标在元素停留的样式

    以下资料来自网络,收藏学习总结用: 有时候需要改变鼠标样式,DIV 可以改成手型等,A也可以改成光标形式 巧合要用到鼠标样式效果,就顺便整理了下十五种CSS鼠标样式,小例子供大家使用啊.CSS鼠标样式 ...

  7. 过滤选择器first与子元素过滤选择器first-child的区别

    1.表格代码如下: <table id="table"> <tr> <td>id</td> <td>name</t ...

  8. css:子元素div 上下左右居中方法总结

    最近在面试,不停地收到了知识冲击,尤其是对于一些基础的css.html.js问题居多,所以自我也在做反思,今天就css问题,如何让一个子元素div块元素上下左右居中 (以下总结方法,都已得到验证). ...

  9. 兼容性背景颜色半透明CSS代码(不影响内部子元素)

    如何简单兼容性的实现父元素是半透明背景色,而子元素不受影响. 兼容所有浏览器的背景颜色半透明CSS代码: background-color: rgba(, , , .); filter: progid ...

随机推荐

  1. java ee xml 学习

    该文章对j2ee的xml各种标签做了详细全面的说明 http://01121264-163-com.iteye.com/blog/1530063

  2. Android 图片查看器

    1 http://blog.csdn.net/wang8512945/article/details/8075413 2 http://blog.csdn.net/lcore/article/deta ...

  3. hdu 5348 MZL&#39;s endless loop

    给一个无向图(事实上是有向的.可是没有指定边的方向),你须要指定边的方向,使得每一个点入度和出度相差不超过1. 事实上就是找很多条路径.合起来能走完这个图..先统计各个顶点的度.度为奇数必是起点或终点 ...

  4. 点击单选button后的文字就可以选定相应单选button

    比方我想点击单选button后的文字就选中对应的button: <input type="radio" name="sex" value="1& ...

  5. route 命令

    Linux系统的route命令用于显示和操作IP路由表(show / manipulate the IP routing table).要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或 ...

  6. jfreechart折线图 demo

    public class ChartUtil { public static ChartUtil chartUtil; private RoomViewsDataService roomViewsDa ...

  7. 读书笔记-HBase in Action-第三部分应用-(1)OpenTSDB

    OpenTSDB是基于HBase的开源监控系统,能够支持上万规模集群监控和上亿数据点採集. 当中TSDB代表Time Series Database,OpenTSDB在时间序列数据的存储和查询上都做了 ...

  8. RedisTemplate访问Redis数据结构(介绍和常用命令)

    Redis 数据结构简介 Redis 可以存储键与5种不同数据结构类型之间的映射,这5种数据结构类型分别为String(字符串).List(列表).Set(集合).Hash(散列)和 Zset(有序集 ...

  9. height为auto, 滚动条出现时, 使页面不跳动

    <style> html { margin-left: calc(100vw - 100%); } </style> ;

  10. 在VS2017环境中编译libxml2库

    libxml2库编译 1.下载libxml2,官网是:http://www.xmlsoft.org/downloads.html, 我下载的版本是:libxml2-sources-2.9.7.tar. ...