JS获取CSS样式(style/getComputedStyle/currentStyle)

yizhihongxing

获取CSS样式是前端开发中非常重要的一项技能,可以帮助我们对网页的样式进行动态处理。JS获取CSS样式主要有三种方式:style、getComputedStyle和currentStyle,下面将分别进行详细讲解。

1. 使用style属性获取CSS样式

我们可以使用元素的style属性来获取它的内联样式。

<style>
    #box {
        width: 100px;
        height: 100px;
        background-color: red;
    }
</style>
<div id="box" style="color: yellow;"></div>
<script>
    var box = document.querySelector('#box');
    console.log(box.style.width); // "100px"
    console.log(box.style.color); // "yellow"
</script>

使用style属性的优点是获取的是内联样式,能够获取到当前元素设置的所有样式。但缺点是只能获取内联样式,无法获取外部样式或者计算后的样式。

2. 使用getComputedStyle获取CSS样式

getComputedStyle是一种获取计算样式的方法,它获取的是最终渲染到页面上的样式,包括内联样式和外部样式。但需要注意的是,它获取的只是只读的样式,不支持修改。

<style>
    #box {
        width: 100px;
        height: 100px;
        background-color: red;
    }
</style>
<div id="box" style="color: yellow;"></div>
<script>
    var box = document.querySelector('#box');
    var computedStyle = getComputedStyle(box);
    console.log(computedStyle.width); // "100px"
    console.log(computedStyle.color); // "rgb(255, 255, 0)"
</script>

3. 使用currentStyle获取CSS样式

currentStyle是IE浏览器专有的获取计算样式的方法,它能够获取到当前元素计算后的样式,包括内联样式和外部样式。

<style>
    #box {
        width: 100px;
        height: 100px;
        background-color: red;
    }
</style>
<div id="box" style="color: yellow;"></div>
<script>
    var box = document.querySelector('#box');
    if (box.currentStyle) {
        console.log(box.currentStyle.width); // "100px"
        console.log(box.currentStyle.color); // "rgb(255, 255, 0)"
    } else {
        console.log('浏览器不支持currentStyle');
    }
</script>

需要注意的是,currentStyle只适用于IE浏览器,其他浏览器不支持此方法。

综上所述,使用getComputedStyle是我们最常用的获取CSS样式的方法,能够获取最终渲染到页面上的样式,并且在大多数浏览器中都支持。但在特殊情况下,如需获取元素的内联样式或者仅在IE浏览器中运行的代码中,也可以使用style属性和currentStyle方法。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS获取CSS样式(style/getComputedStyle/currentStyle) - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • JS表格组件神器bootstrap table使用指南详解

    JS表格组件神器bootstrap table使用指南详解 Bootstrap Table 是一款基于 Bootstrap 的 jQuery 表格扩展,它具有以下优点: 界面美观,风格统一。 支持丰富的表格操作,例如:排序、过滤、分页、编辑等。 使用方便,只需要简单的配置即可快速构建出功能完善的表格。 下面将给出使用指南: 安装 通过 npm 安装: npm…

    css 2023年6月10日
    00
  • 十分钟带你快速上手Vue3过渡动画

    下面给出《十分钟带你快速上手Vue3过渡动画》的完整攻略。 步骤一:安装Vue3 在使用Vue3之前,需要先安装Vue3。可以通过以下命令进行安装: npm install vue@next 步骤二:创建Vue3实例 创建Vue3实例的代码如下所示: import { createApp } from ‘vue’; const app = createApp…

    css 2023年6月10日
    00
  • 纯CSS如何禁止用户复制网页的内容

    下面是详细讲解纯CSS如何禁止用户复制网页内容的攻略: 1. 使用::-moz-selection和::selection属性 可以使用CSS的伪元素::-moz-selection和::selection设置用户选中文本后的颜色等属性,同时把文本的可见性设置为透明。这样可以阻止用户通过鼠标或键盘等方式选择和复制文本。 /* 禁止用户选择和复制网页文本 */…

    css 2023年6月10日
    00
  • CSS6种长度单位(像素、百分比、视口单位、根节点字体大小单位…)详解

    CSS长度单位有多种,它们用于指定元素的宽度、高度、边距、内边距等尺寸。以下是每种单位的详细解释以及使用示例。 像素(px) 像素是CSS中最常用的长度单位之一。它是屏幕上显示图像的最小单位,可以用来定义元素的宽度、高度、边距、内边距等。一个像素等于一个CSS点(即视网膜分辨率中的像素)。 示例代码: div { width: 300px; height: …

    Web开发基础 2023年3月20日
    00
  • stricky footer的三种解决方案详解

    “sticky footer”的目标就是让footer永远处于页面底部,无论页面的内容高度是多少。下面介绍三种实现“sticky footer”的方法。 方法一:使用flex布局 flex布局可以很容易地实现sticky footer。步骤如下: 在html里添加如下代码: <body> <div class="wrapper&q…

    css 2023年6月10日
    00
  • 详解CSS伪元素的妙用单标签之美

    下面是“详解CSS伪元素的妙用单标签之美”完整攻略。 一、简介 CSS伪元素是CSS提供的一种简化HTML结构的方法,它可以让我们在不增加标签的情况下为元素添加装饰或内容。在伪元素出现之前,要实现这样的效果,通常需要增加额外的HTML标签,而伪元素的出现,使这个过程变得更加方便。本文将详细介绍CSS伪元素的用法,以及如何使用单标签实现一些复杂的效果。 二、C…

    css 2023年6月9日
    00
  • 自适应布局meta标签中viewport、content、width、initial-scale、minimum-scale、maximum-scale总结

    自适应布局是指网页在不同的设备上(如PC、手机、平板等)都能够有良好的展示效果,其中最重要的一步就是设置meta标签中viewport属性。 viewport属性用于控制浏览器的显示区域,以及渲染出来的页面在其中的放大或缩小比例。下面分别讲解viewport属性中各个参数的含义: width:指定viewport的宽度,可以是一个整数或者字符串“device…

    css 2023年6月10日
    00
  • HTML5之SVG 2D入门5—颜色的表示及定义方式

    HTML5中的SVG(Scalable Vector Graphics)可以实现矢量图形的绘制、动画和交互等功能,颜色的表示和定义方式在SVG中也是非常重要的一部分。下面是完整的“HTML5之SVG 2D入门5—颜色的表示及定义方式”攻略,其中包括了颜色的基本概念、在SVG中的颜色使用方法、SVG颜色的类型及定义方式,同时还有两个小型的示例说明。 1. 颜色…

    css 2023年6月9日
    00
合作推广
合作推广
分享本页
返回顶部