zoukankan      html  css  js  c++  java
  • 学习before和after伪元素

    参考:http://www.w3cplus.com/css3/learning-to-use-the-before-and-after-pseudo-elements-in-css.html

    伪元素在文档中不实际改变什么,但是能插入css中,对用户可见,可通过除css控制。  

    基本语法:

    #example:before{
    content:"#";
    }
    
    #example:after{
    content:"*";
    }

    在内容模块中,伪元素如果没有设置content属性,伪元素是无效的;

    单冒号跟双冒号区别:伪元素(双冒号),css3中伪类(单冒号);

    可以设置content内容为空,当做一个无内容的盒子:

    #example{
    content:"";
    display:block;
    100px;
    height:100px;
    }

    就语法而言,可以普遍应用伪元素,不用放在特殊元素上:示例代码:

    :before{
    content:"#";
    }

    虽然有效,但是没用,代码会在DOM每个元素内容前插入符号,即使删除了body标签和他所有的内容,仍会在页面上显示:一个在<html>里,另一个在<body>标签里。浏览器会自动创建;

    插入的元素在默认情况下是内联元素,为了给它赋予高度,填充,边距,常常显示的定义它是一个块级元素;

    可插入非文本内容:

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

    这会导致页面上的每一个<a>元素的href值立即被放置在每个各自的<a>元素的后面。在文档被打印时,它可以用作一个包含所有URl的打印样式表。

    也可以用这个函数去获取元素的title属性,或者甚至是microdata的值。当然,并不是所有的例子都符合自己的实际,但根据不同的情况,一个特定的属性值作为一个伪元素可以是实际的;然而,获取title或者图像的alt的值并作为实际的伪元素显示在页面上是不可能的。

    记住伪元素必须是被应用元素的子元素。图像,这是void(或者是空元素),没有子元素,所以它在这个列子中不可用,同样也适用于其他空元素,例如:<input>。

    伪元素不会出现在DOM中,这些元素不是真正的元素,因此他们不可用,不要用伪元素生成内容,是网页可用性和可访问性的关键。

    注入的元素是有关联的目标元素的子元素,但它会被置于这个元素的任何内容的前或后,所以不是插入到此元素内部,而是被置于它的前或后。

  • 相关阅读:
    备忘录 | ‘神器’在手,新世界大门我有
    1001种玩法 | HotswapAgent:支持无限次重定义运行时类与资源
    面面观 | CentOS install etcd 测试
    控制台、终端、虚拟终端和伪终端
    KMP算法,BoyerMoore算法
    qemu kvm 虚拟化
    web端log4net输出错误日志到mysql
    JQuery调用WCF服务,部署在iis
    首篇
    微信支付接口
  • 原文地址:https://www.cnblogs.com/Decmber/p/4755958.html
Copyright © 2011-2022 走看看