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

【简介】CSS 响应式多列布局、截断文本、CSS 属性选择符

1. CSS 响应式多列布局

对于一段长文本,可以直接通过 CSS 属性来让文本分成多列显示,所使用的 CSS 属性为:

  • column-width:设定列宽(列数可变)。
  • column-count:设定列数(列宽可变)。
  • column-gap:设定列与列之间的间距。
  • column-rule:在列与列之间添加分割线。
1.1 列宽固定,设置列数

在 1365px 宽度的 PC 屏幕上:

这里写图片描述

在 768px 宽度的 平板上:

这里写图片描述

其中 HTML 部分:

<main>
  <p>很多的文本内容。</p>
</main>

CSS 部分:

.main {
  column-width: 12em;
}
1.2 固定列数,可变列宽

这里写图片描述

其中 HTML 部分与 1.1 保持变,CSS做如下改变:

.main {
  column-count: 4;
}
1.3 为文本添加列间距和分割线

这里写图片描述

其中 HTML 部分与 1.1 保持变,CSS做如下改变:

.main {
  column-width: 12em;
  column-gap: 2em;
  column-rule: 1px dotted #999;
}

2. 截断文本

这里写图片描述

其中 HTML 部分:

<p class="truncate">This is some long text that will not fit in the box</p>

CSS 部分:

.truncate {
    width: 220px;
    border: 1px solid #ccc;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

3. CSS 属性选择符

CSS 属性选择符主要有以下几种情况:

  • 属性名匹配;
  • 属性名和属性值同时匹配;
  • 属性值以······开头;
  • 属性值包含······;
  • 属性值以······结尾。
3.1 属性名匹配

元素的属性可以作为 CSS 选择器,例如 HTML 片段为:

<p title="apple milk water">apple milk water</p>
<p title="apple milk">apple milk</p>
<p>no title</p>

则可以使用 title 属性,选中前面两个<p> 标签,例如 CSS 样式为:

[title] {
    font-size: 22px;
}

则可以使前面两个 <p> 元素中的字体大小变为 22px 。

这里写图片描述

3.2 属性名和属性值同时匹配

HTML 片段保持不变, CSS 样式改为:

[title="apple milk"] {
    font-size: 22px;
}

则此时选择器选中第二个 <p> 元素中的字体大小变为 22px 。

这里写图片描述

3.3 属性值以······开头

HTML 片段为:

<p title="apple milk water">apple milk water</p>
<p title="apple milk">apple milk</p>
<p title="milk">milk</p>
<p>no title</p>

CSS 样式为:

[title^="apple"] {
    font-size: 22px;
}

则会选择 title 属性以 apple 的属性值开头的元素,即前面两个元素为 22px 。

这里写图片描述

3.4 属性值包含······

HTML 片段保持不变,CSS 样式改为:

[title*="milk"] {
    font-size: 22px;
}

因为前面三个 <p> 元素中均包含「milk」属性值,所以字体大小变为 22px 。

这里写图片描述

3.5 属性值以······结尾

HTML 片段保持不变,CSS 样式改为:

[title$="milk"] {
    font-size: 22px;
}

以「milk」属性值结尾的有第二个和第三个元素,这两个元素字体大小变为 22px 。

这里写图片描述

欢迎大家关注我的新浪微博 - 一点编程,了解最新动态 。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值