前端学习笔记style,currentStyle,getComputedStyle的用法与区别

前言

在前端开发中,样式的处理是非常重要的一部分。而 style、currentStyle 和 getComputedStyle 是三种常见的处理样式的方式。本篇攻略将详细讲解它们的用法和区别。

style

style 属性用于在 JavaScript 中设置和返回样式。我们可以通过给 HTMLElement 对象的 style 属性赋值来设置样式,也可以通过读取 style 属性来获取元素的内联样式。

例如,设置元素的样式:

<div id="myDiv">Hello World!</div>
var myDiv = document.getElementById("myDiv");
myDiv.style.color = "red";
myDiv.style.backgroundColor = "blue";

也可以读取元素的内联样式:

var color = myDiv.style.color;
var backgroundColor = myDiv.style.backgroundColor;

style 属性只能获取和设置内联样式,不能获取和设置外部样式和计算样式。在内联样式中使用的单位可以是任意有效的 CSS 单位,如 em、px、in 等。

当前样式类别只包括内联样式,不包括外部样式或嵌入式样式。此外,style 属性只能获取和设置字符串类型的样式值,不能获取数值类型的样式值。

currentStyle

currentStyle 属性是 IE 独有的属性,用于获取元素当前计算出的样式值。此属性返回的样式是应用于元素的所有样式的最终计算结果。

例如:

var myDiv = document.getElementById("myDiv");
var backgroundColor = myDiv.currentStyle.backgroundColor;
var color = myDiv.currentStyle.color;

currentStyle 属性仅适用于 IE 浏览器,因此不能在其他浏览器中使用。

getComputedStyle

getComputedStyle 方法是 W3C 标准的一部分,用于获取元素的计算样式,它返回的是一个对象,其中包含了所有计算样式的属性和值。

例如:

var myDiv = document.getElementById("myDiv");
var backgroundColor = window.getComputedStyle(myDiv).backgroundColor;
var color = window.getComputedStyle(myDiv).color;

getComputedStyle 方法在 IE8 及以下版本的 IE 浏览器中不支持,需要使用 IE 独有的 currentStyle 属性。

区别

  • style 属性只能获取和设置内联样式,而 currentStyle 和 getComputedStyle 可以获取计算样式;
  • currentStyle 属性只适用于 IE 浏览器,而 getComputedStyle 是 W3C 标准的一部分,可以在所有现代浏览器中使用;
  • 获取样式属性的值的方式也不同:style 直接获取和设置样式属性的字符串形式的值,而 currentStyle 和 getComputedStyle 都返回计算样式的值。

示例

示例1:获取元素的宽度和高度

<div id="myDiv" style="width: 100px; height: 50px;">Hello World!</div>
var myDiv = document.getElementById("myDiv");

// 获取元素的内联样式
var width1 = myDiv.style.width; // "100px"
var height1 = myDiv.style.height; // "50px"

// 获取元素的当前计算样式(适用于 IE 浏览器)
var width2 = myDiv.currentStyle.width; // "100px"
var height2 = myDiv.currentStyle.height; // "50px"

// 获取元素的计算样式(适用于非 IE 浏览器)
var width3 = window.getComputedStyle(myDiv).width; // "100px"
var height3 = window.getComputedStyle(myDiv).height; // "50px"

示例2:获取元素的字体大小和颜色

<div id="myDiv" style="font-size: 14px; color: red;">Hello World!</div>
var myDiv = document.getElementById("myDiv");

// 获取元素的内联样式
var fontSize1 = myDiv.style.fontSize; // "14px"
var color1 = myDiv.style.color; // "red"

// 获取元素的当前计算样式(适用于 IE 浏览器)
var fontSize2 = myDiv.currentStyle.fontSize; // "14px"
var color2 = myDiv.currentStyle.color; // "#ff0000"

// 获取元素的计算样式(适用于非 IE 浏览器)
var fontSize3 = window.getComputedStyle(myDiv).fontSize; // "14px"
var color3 = window.getComputedStyle(myDiv).color; // "rgb(255, 0, 0)"

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:前端学习笔记style,currentStyle,getComputedStyle的用法与区别 - Python技术站

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

相关文章

  • CSS仿网易首页的头部菜单栏按钮和三角形制作方法

    下面是关于”CSS仿网易首页的头部菜单栏按钮和三角形制作方法”的完整攻略。 制作按钮 制作按钮可以使用CSS中的伪元素::before和::after来实现。 第一步 首先,在HTML中添加一个button元素,并给它一个class名称,例如menu-btn。 <button class="menu-btn">菜单</b…

    css 2023年6月10日
    00
  • 利用纯CSS3实现tab选项卡切换示例代码

    接下来我将为您详细讲解如何利用纯CSS3实现tab选项卡切换,以下是完整攻略: 1. HTML结构 首先我们需要搭建好选项卡的HTML结构,一般来说包括选项卡头和选项卡内容两部分。其中,选项卡头通常由一个ul元素和多个li元素组成,而选项卡内容则由多个div元素组成,每个div元素代表一个选项卡的内容。 我们可以像下面这样搭建HTML结构: <div …

    css 2023年6月10日
    00
  • a标签的css样式四个状态LVHA的设计

    a标签是网页中最常用的元素之一,我们可以通过CSS中的四种伪类::link、:visited、:hover 和 :active 对其进行设计。 :link :link 用于设置链接的默认状态样式,在用户未访问过该链接时默认状态是“蓝色且带下划线”。 示例代码如下: a:link { color: blue; text-decoration: underlin…

    css 2023年6月10日
    00
  • BAT及各大互联网公司2014前端笔试面试题(Html,Css篇)

    BAT及各大互联网公司2014前端笔试面试题(Html,Css篇)是一份经典的前端笔试面试题目集,包含了许多常见的 HTML 和 CSS 技术问题。本文将提供一份完整攻略,包括题目解析、示例说明和代码实现。 题目解析 1. 如何实现一个三角形? 可以使用 CSS 的 border 属性来实现一个三角形。具体方法是将元素的宽度和高度设为 0,然后设置 bord…

    css 2023年5月18日
    00
  • CSS中选择器的权重值的计算

    CSS中选择器的权重值是用来优化CSS的一个重要概念,当多个选择器对同一个元素设置不同的样式时,CSS会通过计算选择器的权重值来判断哪些样式具有更高的优先级。下面是CSS中选择器权重值计算的详细说明: 选择器的组成 首先,先了解一下选择器的组成。选择器由不同的部分组成,每个部分的优先级是不同的。这些部分按照优先级的高低依次为: 内联样式(优先级为1000) …

    css 2023年6月9日
    00
  • Python pyecharts数据可视化实例详解

    Python pyecharts数据可视化实例详解 一、背景介绍 随着数据科学和人工智能的快速发展,数据可视化成为数据分析和决策制定的关键。Python是一个强大的编程语言,有很多数据可视化的工具和库可以使用,而pyecharts是其中的一款非常流行的工具。本文将介绍pyecharts的基本用法和两个实例说明。 二、pyecharts基本用法 1.安装pye…

    css 2023年6月9日
    00
  • 超级兔子让浮动层消失的前因后果

    背景 超级兔子是一款游戏,游戏中有个浮动层,我们希望通过点击超级兔子让这个浮动层消失。然而,有些用户在这个过程中遇到了问题,即无法消失该浮动层。本文将会针对这个问题给出完整攻略与示例说明。 前提要求 在正式开始攻略前,需要确保以下操作已经完成: 安装了jQuery库并成功引入。 本页面已经有浮动层和超级兔子元素,并且它们分别有唯一的id属性,且浮动层的初始状…

    css 2023年6月10日
    00
  • 简单总结CSS3中视窗单位Viewport的常见用法

    以下是关于CSS3中视窗单位Viewport的常见用法的详细攻略。 什么是Viewport Viewport是指浏览器窗口显示网页的区域,即视口区域。在CSS3中,为了满足不同设备和不同分辨率的网页需求,引入了视窗单位Viewport。 视窗单位Viewport的用法 Viewport单位有vw、vh、vmin和vmax四种,具体用法分别如下: vw、vh单…

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