CSS content 属性


实例

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

a:after{content: " (" attr(href) ")"; }

尝试一下 »

属性定义及使用说明

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

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


浏览器支持

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

属性
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 属性的值,应该从父元素继承 

更多实例

CSS Select 选项小三角型(箭头)样式代码


相关文章

CSS 参考手册: :before 伪元素

CSS 参考手册: :after 伪元素

1 篇笔记 写笔记

  1. #0

       MCCF

      353***4841@qq.com

    86

    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伪元素内进行调整。
    MCCF

       MCCF

      353***4841@qq.com

    3年前 (2020-02-06)