CSS3 动态生成内容(在Web中插入内容)====CSS的伪类或者伪元素
# css3
.类
:伪类
::伪元素
- /*
- CSS3伪元素/伪类 :https://www.w3.org/TR/css3-selectors/#selectors
- ::selection
- 伪元素(F12看不到,::selection 只是给E添加了css样式)
- ::aftet/:after ?
- 伪元素(F12看到,添加了新结点 ::after 结点)
- :first-child
- 伪类(.class)(F12看不到,只是给E添加了css样式 或 Jquery的js)
- */
- /*
- CSS3伪元素/伪类 :https://www.w3.org/TR/css3-selectors/#selectors
- ::selection
- 伪元素(F12看不到,::selection 只是给E添加了css样式)
- ::aftet/:after ?
- 伪元素(F12看到,添加了新结点 ::after 结点)
- :first-child
- 伪类(.class)(F12看不到,只是给E添加了css样式 或 Jquery的js)
- */
1
1
1
1
1
1
在Web中插入内容,在CSS2.1时代依靠的是JavaScript来实现。但进入CSS3进代之后我们可以通 过CSS3的伪类“:before”,“:after”和CSS3的伪元素“::before”、“::after”来实现,其关键是依靠CSS3中的 “content”属性来实现。不过这个属性对于img和input元素不起作用。
content配合CSS的伪类或者伪元素,一般可以做以下四件事情:
功能 |
功能说明 |
none |
不生成任何内容 |
attr |
插入标签属性值 |
url |
使用指定的绝对或相对地址插入一个外部资源(图像,声频,视频或浏览器支持的其他任何资源) |
string |
插入字符串 |
实例展示:
在CSS中有一种清除浮动的方法叫“clearfix”。而这个“clearfix”方法就中就使用了“content”,只不过只是在这里插入了一个空格。如下所示:
- .clearfix:before,
- .clearfix:after {
- content:””;
- display:table;
- }
- .clearfix:after {
- clear:both;
- overflow:hidden;
- }
上面这个示例是最常见的,也是最简单的,我们再来看一个插入元素属性值的方法。
假设我们有一个元素:
<a href="##" title="我是一个title属性值,我插在你的后面">我是元素</a>
可以通过”:after”和”content:attr(title)”将元素的”title”值插入到元素内容“我是元素”之后:
- a:after {
- content:attr(title);
- color:#f00;
- }
效果如下:
1
1
1
paperclip 回形针/别针
https://github.com/xgqfrms/js-module/tree/master/plugins/paperclip
- /*
- css: http://liujiacai.net/gooreplacer/
- */
- header h1:before {
- content: "./ ";
- font-size: 24px;
- color: #0f0;
- background: #fff;
- }
- /*
- https://developer.wordpress.org/resource/dashicons/#paperclip
- paperclip: 回形针/曲别针/报纸夹纸夹/纸夹子
- Glyph :浮雕/象形文字 ()PS
- <span class="dashicons dashicons-paperclip"></span>
- */
- header h1:after {
- /*content: "回形针/别针icon";*/
- content: "\f546";
- font-size: 24px;
- }
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>paperclip</title>
- <!-- <link rel="stylesheet" href="dashicons.css"> -->
- <link rel="stylesheet" href="https://wordpress.org/wp-includes/css/dashicons.css">
- <link rel="stylesheet" href="paperclip.css">
- </head>
- <body>
- <header>
- <h1>paperclip</h1>
- </header>
- </body>
- </html>
1
1
demo:
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>E::first-letter && text-transform: capitalize;</title>
- <!--
- text-transform: http://www.cnblogs.com/xgqfrms/p/5786191.html
- E::first-letter: http://www.cnblogs.com/xgqfrms/p/5662310.html
- -->
- <style>
- html{
- font-size: 16px;
- }
- a{
- cursor: pointer;
- text-decoration: none;
- }
- div{
- border: 1px solid rgba(0,0,0,1);
- width: 50%;
- height: auto;
- margin: 0 auto;
- }
- .box{
- border: none;
- width: auto;
- height: auto;
- }
- .d1 h1{
- text-transform: capitalize;
- color: rgba(0,0,0,0.7);
- }
- .d1 h1::first-letter{
- color: rgba(255,100,100,0.7);
- }
- .d2 h1::first-letter{
- color: #0f0;
- font-size: 2em;
- }
- .d3 h1::before{
- content: 'A';
- color: #f00;
- font-size: 3rem;
- }
- .d3 h2::after{
- content: 'B';
- color: #f0f;
- font-size: 1rem;
- }
- .d4 h1::first-line{
- color: #c3c;
- }
- .h1{
- font-size: 2em;
- font-weight: bold;
- }
- </style>
- </head>
- <body>
- <div class="box">
- <div class="d1">
- <h1><a href="#" title="text-transform: capitalize;"">text-transform</a></h1>
- <h1><a href="#" title="text-transform: capitalize;"">text_transform</a></h1>
- <h1><a href="#" title="text-transform: capitalize;"">text transform</a></h1>
- </div>
- <div class="d2">
- <h1><a href="#" title="E::first-letter"">abc</a></h1>
- <p class="h1"><a href="#" title="not E::first-letter"">abc</a></p>
- </div>
- <div class="d3">
- <h1><a href="#" title="E::before">*******</a></h1>
- <h2><a href="#" title="E::after">*******</a></h2>
- </div>
- <div class="d4">
- <h1>
- <p title="E::first-line">1111111</p>
- <p title="E::first-line">2222222</p>
- <p title="E::first-line">3333333</p>
- </h1>
- </div>
- <div class="d5">
- <h1 title="h1-title">title</h1>
- <img src="#" alt="image-alt" />
- </div>
- </div>
- </body>
- </html>
1
1
1
1
1
1
1
1
1
1
1
CSS3 动态生成内容(在Web中插入内容)====CSS的伪类或者伪元素的更多相关文章
- VSTO 向office文档中插入内容
原文:VSTO 向office文档中插入内容 Word: Word.Selection sec = ThisAddIn.appWord.Selection; sec.Insert ...
- 向ueditor中插入内容
html在ueditor中插入内容不能直接插入,必须判断编辑器是否创建成功,jsp可以用java代码嵌套的方式. html页面中:<textarea id="zym" nam ...
- bootstrap如何去除自带的样式----导航栏中的菜单实现平滑的过渡到对应的菜单区域-------动态跟换模态框中的内容
问题1:如何去除bootstap中css中自带的overflow:hidden这个样式 今天遇见在bootstap中轮播图上的 附带图 片不能够显示出来,图片始终有一部分的高度 被隐藏了 后来通 ...
- ::before ::after CSS3中的伪类和伪元素
::before和::after伪元素的用法 一.介绍 css3为了区分伪类和伪元素,伪元素采用双冒号写法. 常见伪类——:hover,:link,:active,:target,:not(),:fo ...
- 妙味css3课程---1-2、css3中新增的伪类和伪元素有哪些
妙味css3课程---1-2.css3中新增的伪类和伪元素有哪些 一.总结 一句话总结: 1.div:target{}是什么意思? 比如a标签的锚点链接到div,div:target{}就可以找到这个 ...
- css3的伪(伪类和伪元素)大合集
本文讲css3的伪,不是讲它有多虚伪,而是说它的伪元素样式.不得不说以前虽知html伪元素,但很少用,后得知借助css3伪元素可以发挥极大的便利.故总结css3的伪如下: CSS中存在一些比较特殊的属 ...
- 关于css中伪类及伪元素的总结
css中的伪类和伪元素总是混淆,今天参考了很多资料,也查看了部分文档,现将伪类及伪元素总结如下: 一.由来: 伪类和伪元素的引入都是因为在文档树里有些信息无法被充分描述,比如CSS没有"段落 ...
- 【从0到1学Web前端】CSS伪类和伪元素
1.CSS中的伪类 CSS 伪类用于向某些选择器加入特殊的效果. 语法: selector : pseudo-class {property: value} CSS 类也可与伪类搭配使用 select ...
- 【从0到1学Web前端】CSS伪类和伪元素 分类: HTML+CSS 2015-06-02 22:29 1065人阅读 评论(0) 收藏
1.CSS中的伪类 CSS 伪类用于向某些选择器添加特殊的效果. 语法: selector : pseudo-class {property: value} CSS 类也可与伪类搭配使用 select ...
随机推荐
- uni-app开发经验分享十四:小程序超过2M限制的方法——分包加载
起初小程序上线时,微信限制了代码包不能超过1MB,后来功能变大变成了2M了,限制大小是出于对小程序启动速度的考虑,希望用户在使用任何一款小程序时,都能获得一种"秒开"体验.但是 ...
- CSGO项目
#include <Windows.h> #include <sstream> #include <iostream> #include <math.h> ...
- I/O 复用 multiplexing data race 同步 coroutine 协程
小结: 1.A file descriptor is considered ready if it is possible to perform the corresponding I/O opera ...
- 【译】.NET 5. 0 中 Windows Form 的新特性
自从 Windows Form 在 2018 年底开源并移植到 .NET Core 以来,团队和我们的外部贡献者都在忙于修复旧的漏洞和添加新功能.在这篇文章中,我们将讨论 .NET 5.0 中 Win ...
- Jmeter的客户端实现与Keep-Alive
Jmeter的客户端实现与Keep-Alive 目录 Jmeter的客户端实现与Keep-Alive 0. 结论 1.缘起 1.1 起因 1.2 初步尝试 1.3 Jmeter客户端实现 1.4 Ja ...
- JS 实现一个实时动态校验,将输入格式错误的显示为红色背景
功能描述: 源码: 功能描述: 实时动态校验,如果输入的格式错误,将弹窗提示输入格式错误并将背景展示为红色. 源码: 前台: <hy:formfield name="cxfdl&quo ...
- 云服务器镜像问题("Couldn't resolve host 'mirrors.tencentyun.com')
云服务器镜像问题("Couldn't resolve host 'mirrors.tencentyun.com') 原因: 腾讯云服务器内网yum源的域名 mirrors.tencentyu ...
- 深入了解JavaScript中基于原型(prototype)的继承机制
原型 前言 继承是面向对象编程中相当重要的一个概念,它对帮助代码复用起到了很大的作用. 正文 Brendan Eich在创建JavaScript时,没有选择当时最流行的类继承机制,而是借鉴Self,用 ...
- OsgEarth开发笔记(一):Osg3.6.3+OsgEarth3.1+vs2019x64开发环境搭建(上)
前言 OSG研究之后,做地理GIS显示了地球:<项目实战:Qt+OSG教育学科工具之地理三维星球>,这一文章是基于OSG做的,而基于OsgEarth是可以进一步对地球进行深度操作,所以 ...
- 找新朋友 HDU - 1286 欧拉函数模板题
题意: 求出来区间[1,n]内与n互质的数的数量 题解: 典型的欧拉函数应用,具体见这里:Relatives POJ - 2407 欧拉函数 代码: 1 #include<stdio.h> ...