CSS content 属性 | CSS教程

返回到:CSS 计数器 | CSS教程

属性定义及使用说明

content 属性与 :before 及 :after 伪元素配合使用,来插入内容。

默认值:normal
继承:no
版本:CSS2
JavaScript 语法:object.style.content=”url(beep.wav)”

浏览器支持

表格中的数字表示支持该属性的第一个浏览器版本号。

属性谷歌IE火狐苹果opera
content1.08.01.01.04.0

content 语法与属性值

语法格式:

content: normal|none|counter|attr|string|open-quote|close-quote|no-open-quote|no-close-quote|url|initial|inherit;
说明
none设置 content 为空值。
normal在 :before 和 :after 伪类元素中会被视为 none,即也是空值。
counter设定计数器,格式可以是 counter(name) 或 counter(name,style) 。产生的内容是该伪类元素指定名称的最小范围的计数;格式由style指定(默认是’decimal’——十进制数字)
attr(attribute)将元素的 attribute 属性以字符串形式返回。。
string设置文本内容
open-quote设置前引号
close-quote设置后引号
no-open-quote移除内容的开始引号
no-close-quote移除内容的闭合引号
url(url)设置某种媒体(图像,声音,视频等内容)的链接地址
inherit指定的 content 属性的值,应该从父元素继承

实例

以下实例将在每个链接后的括号内加上网址(href 属性):

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Web176教程网(web176.com)</title>
<style>
a:after {
  content: " (" attr(href) ")";
}
</style>
</head>
<body>
<p><a href="https://www.web176.com">web176教程</a> - 免费的编程学习网站。</p>
<p><a href="https://www.web176.com">Google</a> - 好用的搜索引擎。</p>
</body>
</html>

补充

content 属性遵循一个原则:CSS 仅仅改变样式。因此,所加入的内容不会在 HTML 代码中直接展现:事实上,打开 F12 调试会发现浏览器把 before 作为一个特殊的节点嵌入到目标元素中。

这是很有用的一点,例如要制作一个伪输入元素(使用 contenteditable)时:

<p contenteditable="plaintext-only">默认值</p>

这一行 HTML 代码表示一个可编辑(仅允许纯文本)的段落,并且设置该“输入元素”的默认值。

但是在一般的 input 元素中还有一个 placeholder 属性,在输入框为空时展现一段文本,如:

<input type="text" value="默认值" placeholder="占位文本">

如果要在 contenteditable 元素中仿制一个 placeholder 功能,则可以使用 CSS 实现,例如:

p:empty:before
{
    color: #CCC;
    content: "Don't make me empty!";
}

这时如果将段落的文本全部删除,就会显示一段 “Don’t make me empty!” 的浅色文本;最重要的是它不会被加入段落文本中,只要再键入一些内容,该文本就会消失。这表明 content 不是将文本单纯地加入元素中。另外,在content中编辑的HTML标签会被直接显示,不能用于调整新加内容的属性。如果调整样式,可以在:before或:after伪元素内进行调整。

作者:terry,如若转载,请注明出处:https://www.web176.com/cssprop/5252.html

(0)
打赏 支付宝 支付宝 微信 微信
terryterry
上一篇 2022年2月9日 下午4:42
下一篇 2022年2月10日 上午11:16

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注