《CSS世界》读书笔记(九)
<!-- 《CSS世界》张鑫旭著 -->
content内容生成技术
1. content 辅助元素生成
清除浮动:
.clear:after {
content: '';
display: table; /* 也可以是‘block’ */
clear: both;
}
辅助实现“两端对齐”以及“垂直居中/上边缘/下边缘对齐”:(示例地址 http://demo.cssworld.cn/4/1-7.php)
2. content 字符内容生成
比较常用的是配合@font-face规则实现图标字体效果,还有就是可以插入Unicode字符
配合CSS3 animation实现字符动画效果:“正在加载中...”中的三个点动起来,示例见 http://demo.cssworld.cn/4/1-9.php
3. content 图片生成
content图片生成指的是直接用url功能符显示图片,例如:
div:before {
content: url(1.jpg);
}
在实际项目中,content图片生成用的并不多,主要是因为图片的尺寸不好控制,我们设置宽高无法改变图片的固有尺寸。所以更多的是使用background-image模拟
4.了解 content 开启闭合符号生成
content支持的属性值中有一对不常用的 open-quote 和 close-quote 关键字,顾名思义,就是“开启的引号”和“闭合的引号”,使用纯正的中文解释就是“上引号”和“下引号”。
并且,open-quote 和 close-quote 不只是引号这么简单。
CSS 世界中有一个名为 quotes的属性,可以指定 open-quote 和 close-quote 字符具体是什么。例如:
<p class="ch"><q>这本书很赞!</q></p>
<p class="en"><q>This book is very good!</q></p>
<p class="no"><q>denne bog er fantastisk!</q></p>
/* 为不同语言指定引号的表现 */
:lang(ch) > q { quotes: '“' '”'; }
:lang(en) > q { quotes: '"' '"'; }
:lang(no) > q { quotes: '《' '》' } /* 在q标签的前后插入引号 */
q:before { content: open-quote; }
q:after { content: close-quote; }
虽然 open-quote 和 close-quote 给人感觉很厉害,但此技术具有完全可替代性,最后变得很鸡肋,了解即可;
5. content attr 属性值内容生成
此功能比较常用,例如:
img:after {
content: attr(alt);
}
6.深入理解 content 计数器
计数器效果可以说是 content 部分的重中之重,因为此功能非常强大、实用,且不具有替代性,甚至可以实现 JavaScript 都不好实现的效果。
counter-reset 和 counter-increment 以及 counter() / counters()
(1)属性 counter-reset。计数器-重置,主要作用是给计算器起个名字。如果可能,顺便告诉下从哪个数字开始计数。默认是0.
.xxx { counter-reset: wangxiaoer 2; }
counter-reset 也可以多个计数器同时命名。
.xxx { counter-reset: wangxiaoer 2 wangxiaosan 3; }
(2)属性 counter-increment 。计数器递增值为 counter-reset 的1个或多个关键字,后面可以跟数字,表示每次计数的变化值。如果省略,则默认为1.
(3)方法 counter() / counters()。
/* name就是 counter-reset 的名称 */
counter(name)
counters()可以说是嵌套计算的代名词。我们平时的序号不可能只是1、2、3、4……还会诸如1.1、1.2、1.3等的子序号。这时候就需要用到counters()
示例见 http://demo.cssworld.cn/4/1-18.php
要说明的比较重要的一点是:显示content计数值的DOM元素在文档流中的位置一定要在 counter-increment 元素的后面,否则没有计算效果。
7. content 内容生成的混合特性
意思是各种content内容生成语法是可以混合在一起使用的,例如:
a:after {
content: "(" attr(href) ")";
}
q:before {
content: open-quote url(1.jpg);
}
《CSS世界》读书笔记(九)的更多相关文章
- CSS揭秘读书笔记 (一)
CSS揭秘读书笔记 (一) 一.半透明边框 要想实现半透明边框可以使用border: border: 10px solid hsla(0,0%,100%,.5); background: ...
- 《CSS世界》笔记二:盒模型四大家族
上一篇:<CSS世界>笔记一:流/元素/尺寸下一篇:<CSS世界>笔记三:内联元素与对齐 写在前面 在读<CSS世界>第四章之前,粗浅的认为盒模型无非是margin ...
- 《精通CSS》读书笔记(一)
最近新添16本书,目前开始看陈剑瓯翻译的<精通CSS——高级Web标准解决方案>(Andy Budd, CSS Mastery -- Advanced Web Standards Solu ...
- css 揭秘-读书笔记
css 揭秘 [希]Lea verou 著 css 魔法 译 该书涵盖7大主题,47个css技巧,是css进阶必备书籍,开阔思路,探寻更优雅的解决方案.这本书完全用css渲染出的html写成的(布局. ...
- 《css世界》笔记之流、元素与基本尺寸
1. 块级元素 基本特性:就是一个水平流上只能单独显示一个元素,多个块级元素则换行显示. 块级元素和"display 为block 的元素"不是一个概念,display:list- ...
- 《Two Days DIV + CSS》读书笔记——CSS选择器
1.1.2 CSS选择器 CSS 选择器最基本的有四种:标签选择器.ID 选择器.类选择器.通用选择器. [标签选择器] 一个完整的 HTML 页面由很多不同的标签组成,而标签选择器,则是决定哪些标签 ...
- 《Two Days DIV + CSS》读书笔记——CSS控制页面方式
1.1 你必须知道的知识 (其中包括1.1.1 DIV + CSS的叫法解释:1.1.2 DIV + CSS 名字的误区:以及1.1.3 W3C简介.由于只是背景知识,跳过该章.) 1.2 你必须掌握 ...
- CSS Grid 读书笔记
基本概念 MDN上的解释是这样的 CSS Grid Layout excels at dividing a page into major regions or defining the relati ...
- css揭秘读书笔记
currentColor属性让hr和段落相同的颜色: div { color: red; } hr { background: currentColor; /* 一定要设置高度*/ height: 0 ...
- css进阶读书笔记
说明:努力在十一左右,最迟双11之前掌握所有css知识要点 一.摘自<写给大家看的CSS书(第2版)>(虽然书比较旧,09年版的,但对于我这种刚入门的小菜鸟 来说,能学到的还是挺多的) 1 ...
随机推荐
- 目前(2018年)在北京java程序员平均薪水是多少呢?
1. 这个要看看个人java开发能力,你那个自己带项目做团队的比较高哦 2. 一般来说刚毕业的本科实习生大约在5000左右,干半年基本都张到7.5左右了. 3. Java程序员一般都集中在北京,上海和 ...
- 24访问者模式Visitor
一.什么是访问者模式 Visitor模式也叫访问者模式,是行为模式之一 ,它分离对象的数据和行为,使用Visitor模式, 可以不修改已有类的情况下,增加新的操作. 二.访问者模式的应用示例 比如有一 ...
- SQLite可视化工具SQLite studio
特点: 1.轻量级2.独立性,没有依赖,无需安装3.隔离性 全部在一个文件夹系统4.跨平台 支持众多操作系统5.多语言接口 支持众多编程语言6.安全性 事物,通过独占性和共享锁来实现独立事务的处理,多 ...
- web.py框架之i18n支持
问题: 在web.py的模板文件中, 如何得到i18n的支持? Solution: 项目目录结构: proj/ |- code.py |- i18n/ |- messages.po |- en_US/ ...
- js中 函数参数的 传值/传引用 问题
如果 传入function的参数是 (数值.字符串.布尔值) 此时是以 传值 的方式 进行. 如果 传入function的参数是 (数组.对象.其他函数) 此时是以 传引用 的方式 进行. 1
- 查看oracle数据库是否为归档模式
查看oracle数据库是否为归档模式 [1] 1.select name,log_mode from v$database; NAME LOG_MODE --------------- ...
- thinkphp5中使用phpmailer实现发送邮件功能(转载)
一.开启SMTP服务(使用php发送邮件需要用到SMTP服务,这里以163邮箱的SMTP服务为例). 1.登录163邮箱,在首页上找到“设置”. 2.选择开启的服务,一般都全选,POP3/SMTP/I ...
- Oracle课程档案,第二天
salary:工资 order by:排序 desc:降序 hire:雇佣 单行函数 一周有七天 一月不一定只有30天 trunc:截取 dual:空表 last:最后 month:月份 round: ...
- Installing Ruby 2.2 on Centos7
准备做redis-cluster,需要ruby2.2环境 开整环境:Centos7.2最小安装yum源:阿里的base和epel源 ********************************** ...
- python全栈开发 * 33 知识点汇总 * 180718
33 udp协议编码 显示客户端名字,输出带颜色的内容 udp协议的时间同步机制 #一.udp 协议编码 一个服务器,多个客户端#服务器:# import socket# sk=socket.sock ...