美文网首页
原生JS获取及设置CSS样式-1.行内样式

原生JS获取及设置CSS样式-1.行内样式

作者: 我只会吃饭 | 来源:发表于2019-06-02 21:27 被阅读0次

面试中,应该会经常被问到样式的写法以及如何使用原生JS获取及操作样式的问题吧,让我给大家总结一下~

HTML中样式的写法不外乎以下四种方式

  1. 行内样式
<div style="color: blue; background-color: yellow !important;">假装有内容</div>
  1. head内部样式
<head>
    <style>
        div {
            width: 100px;
            line-height: 100px;
            background-color: red;
            border: 6px solid #ccc;
            text-align: center;
        }
    </style>
</head>
  1. 外链样式
<link rel="stylesheet" href="./index.css">
  1. 导入样式
@import url('xxx.css');

那么通过原生JS如何获取到这些样式,又如何设置呢?

getStyle-methods.PNG

一、原生JS操作行内样式

HTML + 行内样式

<div style="color: blue; background-color: yellow !important;">假装有内容</div>

JS

var divEle = document.querySelector('div');

1. 获取行内样式信息

var divStyle = divEle.style;
console.log(divStyle);

style对象是CSSStyleDeclaration的实例,包含着通过HTML的style特性指定的所有样式信息
但不包含与外部样式,或嵌入式样式层叠而来的样式

styleDec.PNG

短划线的css属性必须转换成驼峰大小写形式 (float是关键字,所以规定为cssFloat)

cssFloat.PNG

1.1 应用给元素的css属性的数量

console.log(divStyle.length); // 2

1.2 返回给定位置的 CSS 属性的名称 与length配套使用

console.log(divStyle.item(0)); // color

1.3 cssText: 通过它能够访问到 style 特性中的 CSS 代码
在读取模式下, cssText 返回浏览器对 style特性中 CSS 代码的内部表示

console.log(divStyle.cssText); // color: blue; background-color: yellow !important;

1.4 获取指定属性的值

console.log(divStyle.getPropertyValue('color')); // blue

1.5如果给定的属性使用了 !important 设置,则返回 "important" ;否则,返回空字符串

console.log(divStyle.getPropertyPriority('background-color')); // important

2. 设置行内样式

2.1 通过element.style设置

divStyle.color = '#FFF';
divStyle.backgroundColor = '#000';
element.style.PNG

2.2 setProperty(属性, 属性值, 权重)第三个参数(可选): 优先权重 "important" 或者一个空字符串

divStyle.setProperty('color', 'green');
setProperty.PNG

2.3 cssText方式
在写入模式下,赋给 cssText 的值会重写整个 style 特性的值
设置 cssText 是为元素应用多项变化最快捷的方式,因为可以一次性地应用所有变化

divStyle.cssText = 'background-color: #FFF; color: orange;';
set-cssText.PNG

3.删除属性

removeProperty(propertyName) :从样式中删除给定属性
意味着将会为该属性应用默认的样式(从其他样式表经层叠而来)

console.log(divStyle.removeProperty('color')); // 返回给定属性的值 orange
remove-color.PNG

嘿嘿~


timg1.jpg

下一篇: 原生JS获取样式-2.计算属性getComputedStyle
下下一篇: 原生JS获取及设置样式-3.操作样式表

相关文章

  • 原生JS获取及设置CSS样式-1.行内样式

    面试中,应该会经常被问到样式的写法以及如何使用原生JS获取及操作样式的问题吧,让我给大家总结一下~ HTML中样式...

  • 脚本化初识

    一、脚本化:用JS去控制css样式1、获取css样式(1)获取行内样式var style=div.stylesty...

  • [jQuery]设置css样式

    获取css样式 设置单个css样式 设置多个css样式

  • jQuery(三)_设置CSS

    jQuery(三)_设置CSS 获取css样式相当于js中计算后的样式getComputedStyle(box)....

  • jQuery获取设置样式

    css();方法 获取或设置样式 对以下html标签进行样式的获取和设置 获取样式 css();方法设置参数,...

  • CSS基础语法一

    CSS基本语法 CSS样式 内联样式(行内样式) 当行代码设置属性 页内样式 当先页面设置属性 外部样式 在单独的...

  • jQuery元素的操作

    样式操作样式的设置 css方法操作的是元素的行内样式//css方法// $('#test').css('backg...

  • 原生JS中DOM元素的操作

    获取dom 修改属性 .获取对象的属性 .js获取非行内样式属性 innerHTML dom 属性设置与获取 Do...

  • 原生js实现遮罩层

    css样式设置 JS代码

  • CSS 初识

    CSS 用来设置HTML外观显示样式。 样式表 内部样式表 行内样式表(内联样式) 外部样式表(外链式) 基础选择...

网友评论

      本文标题:原生JS获取及设置CSS样式-1.行内样式

      本文链接:https://www.haomeiwen.com/subject/yipztctx.html