zoukankan      html  css  js  c++  java
  • 修改带!important的css样式

    讲解决方法之前,先普及一下css样式里优先级的一些知识,避免一些刚入行的小白看的迷迷糊糊。

    优先级关系:内联样式 > ID 选择器 > 类选择器 = 属性选择器 = 伪类选择器 > 标签选择器 = 伪元素选择器

    优先级规则

       1.css选择规则的权值不同时,权值高的优先;

       2.css选择规则的权值相同时,后定义的规则优先;

       3. css属性后面加 !important 时,无条件绝对优先;

    当然,记不住也没关系,毕竟写样式时最常用的方法就是直接在css属性后面添加一个 !important,使其绝对优先。

    不过这样也会出现一个问题,那就是JS里常用的更改样式方法无效

    js修改方法

    js常用方法:元素名.style.属性名='值';
    例如:var btn=document.getElementsByTagName('button'); btn.style.background='red';
    这样是无效的。

    而想要更改他,就需要使用setProperty()方法。
    setProperty() 方法用于设置一个新的 CSS 属性,同时也可以修改 CSS 声明块中已存在的属性。

    如:var btn=document.getElementsByTagName('button'); btn.style.setProperty('background','red','important');
    注:setProperty()的第三个参数没有 !

    jq修改方法

    常用的css修改方法
    $(".test").css("width","100px !important");
    但这种方法是错误的。

    而想要强制修改,需要添加cssText
    例子:
    $(".test").css("cssText", "50px !important;);

    方法亲测有效,质量有保障!

    参考网站:https://www.runoob.com/jsref/met-cssstyle-setproperty.html
    https://www.cnblogs.com/lxl0419/p/10142292.html

  • 相关阅读:
    手动安装ceph集群
    openstack端口禁用安全规则
    debian10桌面美化
    debian10 制作动态扩容根分区镜像
    CentOS7制作动态扩容根分区镜像
    EFKLK日志收集工具栈
    ceph rbd(csi) 对接 kubernetes sc
    secureCRT 814配色方案
    python function
    Linux操作篇之LNMP(一)
  • 原文地址:https://www.cnblogs.com/s272/p/15384106.html
Copyright © 2011-2022 走看看