“ul-menu:after”中 “ul-menu”代指所有类名为“ul-menu”的元素,也就是正常元素,而“:after”则代指在“ul-menu”这个元素内部的末尾处,这个“after”即为伪元素,因为这个元素在HTML代码里并不存在,所以成为“伪元素”,
语法:元素style样式名=样式值
注意:如果CSS的样式名中含有-,这种名称在JS中是不合法的,比如 background-color 。需要将这种样式名修改为驼峰命名法:去掉-,然后将-后的第一个字母大写,比如 backgroundColor
我们通过style属性设置的样式都是内联样式,而内联样式有较高的优先级,所以通过JS修改的样式往往会立即显示
但是如果在样式中写了!important,则此时样式会有最高的优先级,即使通过JS也不能覆盖该样式,此时将会导致JS修改样式失效
所以尽量不要为样式添加!important
语法:元素style样式名
通过style属性设置和读取的都是内联样式,无法读取样式表中的样式
语法:元素currentStyle样式名
如果当前元素没有设置该样式,则获取它的默认值
例如: box1currentStylewidth
这个方法是window的方法,可以直接使用需要两个参数
第一个:要获取样式的元素
第二个:可以传递一个伪元素,一般都传null
该方法会返回一个对象,对象中封装了当前元素对应的样式
可以通过对象﹒样式名来读取样式
如果获取的 样式没有设置 ,则会获取到真实的值,而不是默认值
比如:没有设置width,它不会获取到auto,而是 一个长度
注意:通过currentStyle和getComputedstyle()读取到的样式都是只读的,不能修改,如果要修改必须通过style属性
参数:
obj 要获取样式的元素
name 要获取的样式名
content:,顾名思义,这是定义伪元素内容的
: before(或:after)伪元素选择器用于在某个元素之后插入一些内容(注意,不是伪类)。
怎么说好呢,这个还是得看个人理解,我是这样认为得,其实就是用after 或者before去调用引用content里面原有得样式。 面对做得好得网页,我有得时候也会想这个是怎么做得。。。然后F12学习下= = 第一张图得UL的class 属性里面应该有clearfix 这个样式名的。
1我们首先创建一个新的测试项目,然后创建一个新的indexhtml、basicjs和basiccss文件。
2js修改文件中的样式中值div以修改div高度。文件中的文件代码如图所示。
3我们看到3运行后两个div的高度是一样的然后我们用js修改高度。
4我们点击js中的代码,使用属性对应的样式属性获取div1id,然后设置高度如图所示。
5使用js修改CSS文件中的div的height的值HTML文件中的代码。
6我们得到js文件中的div1id属性,并使用objstylecssTest修改嵌入的css。
7运行项目后,两个结果是相同的div高度改变。
貌似么有啊……javascript修改css其实就是写到元素的style属性上,:before,:after伪类是虚拟元素……怎么改啊……要是非得要修改的话,建议切换info的class试试,设计两个有:before的class,需要修改是切换有class的那个元素 ,比如
info:before{
content:"infomation";
border:1px solid #ccc;
}
info_other:before{
content:"infomation";
border:2px solid #000;
},
然后需要修改的时候把info改成info_other
CSS中常用的选择器:
(一)基本选择器(二)层次选择器(三)动态伪类选择器(四)目标伪类选择器
(五)ui状态伪类选择器(六)结构伪类选择器(七)属性选择器(八)伪元素
(一)基本选择器
1标签选择器:通过标签名获取元素 权重:0001
(此种选择器影响范围大,建议尽量应用在层级选择器中。)
2class选择器:通过 类名获取元素 权重:0010
(通过class类名来选择元素,一个类可应用于多个元素,一个元素上也可以使用多个类,应用灵活,可复用,是css中应用最多的一种选择器。)
3id选择器:通过 # id名获取元素 权重:0100
(通过id名来选择元素,元素的id名称不能重复,所以一个样式设置项只能对应于页面上一个元素,不能复用,id名一般给程序使用,所以不推荐使用id作为选择器。 )
4 通配符选择器:获取到页面的所有元素
5群组选择器:用逗号隔开基本选择器,表示这些选择器都获取到
(二)层次/关系选择器
(主要应用在选择父元素下的子元素,或者子元素下面的子元素,可与标签元素结合使用,减少命名,同时也可以通过层级,防止命名冲突。)
1包含选择器:用空格隔开基本选择器,表示后一个选择器是前面的后代
例:p a { color:red; }
2子代选择器:用>隔开基本选择器,表示后一个选择器是前面的子代
例:ul>li { line-style: none; }
3相邻兄弟选择器:E+F:表示获取到E后面的紧跟着的F元素(同级的)
例: a+a { }
4兄弟选择器:E~F:表示获取到E后面所有的同级的F元素
例: li~li { }
(三)动态伪类选择器
1 a:link 锚链接被访问前添加样式
2 a:visited 锚链接被访问后添加样式
3 e:hover 鼠标悬停在元素上添加样式
4 e:active 鼠标点击元素时添加样式
5 :focus 表单元素被聚焦时,添加样式
(四)目标伪类选择器
语法: 目标:target {属性:属性值} 被选中的目标添加样式
目标:target E子元素{属性:属性值} 被选中的目标里的E子元素添加样式
(五)ui状态伪类选择器
1 :enabled 可用的表单元素添加样式
2 :disabled 不可用的表单元素添加样式(disabled )
3 :checked+E 被选中的表单元素添加样式
(六)结构伪类选择器
1 E:first-child 获取到E元素,且要满足为其父元素的第一个孩子。
2 E:last-child 获取到E元素,且要满足为其父元素的最后一个孩子
3 E:nth-child(n) 获取到E元素,且要满足为其父元素的第n个孩子
n的用法:
(1)6n倍数 (2)even偶数/2n odd奇数/2n-1(如可用来选中奇偶行来实现 “隔行换色”)
(3) -n+5 选中1-5
(4)p:nth-child(-n+3):nth-child(n+2) 2-3个
4 E:nth-last-child(n) 获取到E元素,且要满足为其父元素的倒数第n个孩子
5 E:first-of-type 获取到E元素,且要满足为其父元素的第一个该类型的孩子
6 E:last-of-type 获取到E元素,且要满足为其父元素的最后一个该类型的孩子
7 E:nth-of-type(n) 获取到E元素,且要满足为其父元素的第n个该类型的孩子
8 E:nth-last-of-type(n)获取到E元素,且要满足为其父元素的倒数第n个该类型的孩子
9 E:empty 获取到空的E元素(注:连空格都不能有)
(七)属性选择器
1 E[attr] 拥0有attr属性的E元素添加样式 如div[class];
2 E[attr="val"] 拥有attr属性值 为 val的E元素添加样式 如p[class="ab"]
3 E[attr="val"] attr属性值 包含 val的E元素添加样式
如ul[class="c"] 指class类名中包含有c字母的E元素
4 E[attr^="val"] attr属性值以val 开头 的E元素添加样式
5 E[attr$="val"] attr属性值以val 结尾 的E元素添加样式
(八)伪元素
1 E::before给E元素添加第一个子元素 (前面)
2 E::after 给E元素添加最后一个子元素(后面)
3 E::first-letter给E元素第一个字添加样式
4 E::first-line给E元素第一行添加样式
5 E::selection 元素内容被选中时添加样式(火狐需要加前缀-moz-)
以上就是关于怎么用CSS伪元素实现文字部分变色实例全部的内容,包括:怎么用CSS伪元素实现文字部分变色实例、JS修改CSS设置的样式、html怎么添加这代码的 ::after等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)