【响应式Web设计】读书笔记 - CSS(二) - 9

【简介】CSS 结构化伪类、相对视口的长度单位。

1. CSS 结构化伪类

CSS 结构化伪类为我们提供了更多基于元素之间的位置关系选择它们的选择符。常用的结构化伪类有:

  • : first-child
  • : last-child
  • : nth-child

HTML 片段为 10 个<span> 标签:

<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>

CSS 样式为:

span{
    height: 2rem;
    width: 2rem;
    margin: .5rem;
    background-color: #999;
    display: inline-block;
}

浏览器显示效果为并排的 10 个正方形:

这里写图片描述

通过 first-child 选中第一个元素,使第一个元素变为圆形:

span:first-child {
    border-radius: 50%;
}

这里写图片描述

通过 last-child 选中最后一个元素,使最后一个元素变为圆形:

span:last-child {
    border-radius: 50%;
}

这里写图片描述

通过 nth-child 选中奇数个元素,使奇数个元素变为圆形:

span:nth-child(odd) {
    border-radius: 50%;
}

这里写图片描述

通过 nth-child 使用表达式选中特定元素,从第三项开始,每两项选择一项为圆形:

span:nth-child(2n+3) {
    border-radius: 50%;
}

这里写图片描述

2. 其他伪类选择符

  • : not 取反,用于选择「非······」
  • : empty 为空
2.1 : not 取反

HTML 片段:

<div class="a-div"></div>
<div class="a-div"></div>
<div class="a-div"></div>
<div class="a-div not-me"></div>
<div class="a-div"></div>

CSS 为:

div {
    display: inline-block;
    height: 2rem;
    width: 2rem;
    background-color: blue;
}

显示的效果:

这里写图片描述

添加一段 CSS 选择器:

.a-div:not(.not-me) {
    background-color: orange;
    border-radius: 50%;
}

则所有不包含.not-me 类的元素添加橙色背景和圆角;

这里写图片描述

2.2 :empty

HTML 和 CSS 如下:

<div class="thing"></div>

.thing:empty {
    display: none;
}

虽然 div 内没有内容,但仍然可以看到背景颜色;要在没有内容的情况下,隐藏元素。添加 empty 选择符即可。

.thing:empty {
    display: none;
}

此时,元素被隐藏,当元素内有内容的时候,元素显示。

3. 相对视口大小

CSS3 引入了相对视口的长度单位:

  • vw:视口宽度
  • vh:视口高度
  • vmin:视口中的最小值,等于 vw 或 vh 中较小的值
  • vmax:视口中的最小值,等于 vw 或 vh 中较大的值

上面的每一种单位都是视口的某种形式的百分比;

例如想要一个高度为浏览器窗口高度 90% 的模态弹层:

.modal {
   height: 90vh;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值