获取样式

9 篇文章 0 订阅

4种样式的写法

为什么先要说这个,因为它决定了获取样式的方式

第一种:行内样式(内联样式)

写在标签的style属性中

<div style="color:#f00"></div>

第二种:内嵌式

写在< head >标签中,放在< style >标签里面

<head>
    <style></style>
</head>

第三种:链接式

写在< head >标签中,放在< link >标签的href属性中放入外部css文件

<head>
    <link rel="stylesheet" href="文件名/地址">
</head>

第四种:导入式

这种方式有兼容性的问题,IE5以上才能识别。同时,它会等到页面全部被下载完再下载,对于页面的效果而言并不理想。尤其是网速比较慢的时候。

同时@import不是dom标签可以控制的,也就是说这种方式引入的CSS文件,必须保证里面的样式在后期不会访问。

当然,它也是有好的地方的。我们可以建一个主样式表,然后在其中引入其他样式表。这样比较有利于修改和扩展。

它有两种使用方式

1、在界面的style标签中导入

<style>
	@import url("文件名/地址");
</style>

2、在外部css文件中

必须要在样式定义之前使用;
首先在html文件的头部用< link >标签引入一个css文件
然后再在该css文件中使用@import url(“文件名/地址”);引入外部css文件

获取样式的方式

在说这个前,我们要将4种获取样式的方式分个类。
首先,行内样式为一类
然后,内嵌式和链接式分一类
最后,导入式为一类,当然它无法获取样式
注意:js只能操作行内样式

行内样式的获取方式

它有三种获取方式

第一种:打点的方式

<div style="background-color: #f00;"></div>
<script>
    console.log(document.getElementsByTagName("div")[0].style.backgroundColor)
    // 驼峰式命名
    // rgb(255, 0, 0)
</script>

第二种:属性名的方式

<div style="background-color: #f00;"></div>
<script>
   	console.log(document.getElementsByTagName("div")[0].style[0])
    // 类数组的取值方式
    // background-color
</script>

注意:它只能拿到样式的名称,比较鸡肋。

内嵌式和链接式的获取方式

使用getComputedStyle与currentStyle属性获取样式
getComputedStyle(元素,伪类)
null表示不查找伪类

<style>
        #a{
          height:100px;
        }
    </style>
</head>
<body>
    <div id="a"></div>  
    <script>
        function getTheStyle(){
            var elem = document.getElementById("a");
            var css = window.getComputedStyle(elem,null).getPropertyValue("height");
            console.log(css);
        }
    getTheStyle();//100px;
    </script>
</body>

同时,它也可以获取伪类中的样式

<style>
 h3::after {
   content: ' rocks!';
 }
</style>

<h3>generated content</h3> 

<script>
  var h3 = document.querySelector('h3'); 
  var result = getComputedStyle(h3, ':after').content;
  console.log(result); // rocks!
</script>
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值