用css完成根据子元素不同书写样式的方法
时间:2019-12-07来源:系统城作者:电脑系统城
我们需要达到的效果:
需要什么
1张图片的, 2张图片的, 3张图片的样式各不相同。可以使用js完成子元素的判断,但是这里我使用css来完成
核心知识点
使用css选择器完成子元素的判断
例子:
用css选择器匹配只有一个元素
- div {
- &:last-child:nth-child(1) {
- // 相关样式
- }
- }
很好理解:div下面即是最后一个元素也是第一个元素不就是只有一个子元素吗?
用css选择器匹配只有两个子元素
- div{
- &:nth-last-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;
- &:last-child {
- margin-right: 0;
- }
- &:last-child:nth-child(1) {
- height: 2.75rem;
- }
- }
- }
- }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关信息
-
纯CSS实现具有渐变和圆角的彩色边框
传统的灰色纯色边框你是不是觉得太难看了?你是否想设计一些精美的边框,例如渐变、圆角、彩色的边框?那你来对地方了,本文将介绍如何用纯CSS就能实现具有渐变和圆角的彩色边框...
2023-03-06
-
css圆角三角形的实现代码
今天给大家带来一个如何实现圆角三角形的方案,这个方案虽然可以实现,但是也是借助拼凑等方式来实现的,假如想一个div来实现圆角三角形,还是比较困难的。之前文章讲了如何实现对话框,里面介绍了三角形的实现方式。今天讲讲...
2023-03-06