css样式在html中有三种存在形态:

  内联样式:<div style="display: none"></div>

  内部样式: <style></style>

  外联样式:<link href="" />

  三者的优先级为:内联样式>内部样式>外联样式。

  你可能会对内部样式和外联样式的优先级产生怀疑。反正我怀疑过,是不是两者的先后顺序不同会产生覆盖?当然经过测试,完全没有这种情况。~至于原理,我觉得是和渲染机制有关。


  分割线~其实以上都是基础知识,下面才是要讲的重点。

  我们知道,在js中修改节点的长、宽、背景色等等样式属性是很常见的操作。比如

var targetObj = document.getElementById("test");
targetObj.style.width = "100px";

  如果targetObj本身就已经设定了宽度。在js中通过target.style.width去读取那个既定宽度时,会出现:当宽度是在内联中定义可以读取到,如果宽度不是在内联中定义,targetObj.style.width返回的就是一个空串。

  总结:

  targetObj.style.width去获取的应该是在内联中定义的宽度,如果宽度定义在非内联中,永远不会获取到值,尽管你看到元素在浏览器中呈现得有长有高的;

  通过js代码动态添加targetObj.style.width的优先级是最高的,但是你可以理解为它是添加到内联样式中,而事实也确实是如此。其实对于这句话其实还可以再补充一点点。对于targetObj.className = "newStyle",设置类设置新样式的手段,请务必保证添加的类的样式有足够高的优先级,否则将看不到任何效果。你可以在.newStyle的样式属性定义中增加!important,提高优先级,但是这样在ie6中不奏效,反而需要用带下划线的属性另外定义(hack技术)。我采用的方法基本是通过给.newStyle增加id标签来提高其优先级。比如(#name li.newStyle和.newStyle相比,优先级不知高了几个档次),而且所有浏览器都支持。

  探索到这里,还可以继续探索下去,对于样式操作,有没有更有效的方式?cssText,提供了批量处理功能,

  详见另一篇博文:http://www.cnblogs.com/Iwillknow/p/3691490.html

转载于:https://www.cnblogs.com/Iwillknow/p/3691492.html

你真的知道css三种存在样式(外联样式、内部样式、内联样式)的区别吗?相关推荐

  1. web前端学习day_02:CSS:三种使用方式/选择器/颜色/背景图片/查看样式/文本/元素显示方式/盒子模型/定位方式/行内对齐/显示层级/防溢出

    CSS : Cascading Style Sheet 层叠样式表. 作用: 美化页面 CSS 如何在html页面中添加css样式代码?总共有三种方式: 1.选择器 2.选择器练习: 3.颜色赋值 4 ...

  2. CSS样式创建(外部样式 内部样式 内联样式)

    内部演示 语法: <head><style> /*CSS语句*/</style> </head> 注:使用style标记创建样式时,最好把标记写在< ...

  3. react里面 内联css样式怎么样_React.js内联样式最佳做法

    小编典典 目前还没有很多"最佳实践".我们中那些使用内联样式作为React组件的人仍在进行大量试验. 全部还是全部? 我们所称的"样式"实际上包括许多概念: 布 ...

  4. html内敛样式background,js获取内联样式的方法

    javascript 获取内联样式 #box{ width:100px; height:100px; background-image:url(1.jpg); background-size:140% ...

  5. CSS复习--CSS三种样式设置方法

    目录 前言 CSS CSS样式 1.内联样式(行内样式) 2.内部样式表 3.外部样式表 前言 网页分成三个部分: 结构(HTML) 表现(CSS) 行为(JavaScript) CSS CSS (层 ...

  6. css实例 css中id/class 详解样式表(外部样式表 内部样式表 内联样式 7种基础选择器 多重样式优先级 错误理解)[第一天]

    文章目录 css实例 css中的id css中的class 样式表 外部样式表 内部样式表 内联样式 7种基础选择器 多重样式优先级 错误理解 css实例 CSS 规则由两个主要的部分构成:选择器,以 ...

  7. CSS学习笔记-【内联样式、内部样式、外部样式表】 AND 2018-11-21(21:18)

    一.内联样式 1.在DIV标签中添加内联样式. 添加style属性 . 在style中属性和值得表示方法为: style="属性:值;属性:值"; 例如: <div styl ...

  8. css vue 内联_vue 内联样式style中的background

    在我们使用vue开发的时候   有很多时候我们需要用到背景图 这个时候会直接使用 内联样式 直接把你拿到的数据拼接上去 注意  在vue中直接使用style时 花括号一定别忘记 还有就是你的url一定 ...

  9. 【CSS】CSS 层叠样式表 ① ( 简介 | CSS 引入方式 - 内联样式 | 内联样式语法 | 内联样式缺点 )

    文章目录 一.CSS 层叠样式表 二.CSS 引入方式 - 内联样式 1.内联样式语法 2.内联样式缺点 3.内联样式代码示例 ① 核心代码示例 ② 完整代码示例 ③ 执行结果 一.CSS 层叠样式表 ...

最新文章

  1. 【初学者指南】在ASP.NET MVC 5中创建GridView
  2. MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)
  3. Android - View绘图原理总结
  4. Leetcode 98. 验证二叉搜索树 解题思路及C++实现
  5. C语言实现hashset算法(附完整源码)
  6. Oracle 估算数据库大小的方法
  7. Snmp学习总结系列——开篇
  8. 学成在线--3.CMS页面管理开发(自定义条件查询)
  9. 用VBA实现OUTLOOK接收新邮件后的自动转发
  10. 回归分析beta值的标准_Beta值的基本原理及使用说明
  11. POJ 2079 求最大三角形面积
  12. Android——讯飞语音唤醒简介及实现
  13. 深入OpenJDK源码-偏向锁的延时生效如何实现的
  14. 微信公众号开发中分享功能 分享微信朋友圈/微信好友
  15. 学科语文方面的论文怎么选题?
  16. python : 新概念英语 课文转为html
  17. c语言阶乘编程题,C语言编程题:阶乘计算
  18. ArcGIS地图数据资源
  19. 不积跬步无以至千里—day2
  20. sql查询某个部门及其所以子部门信息

热门文章

  1. vue 知识点整合(持续更新,希望各位大佬不吝赐教补充...)
  2. 盗墓笔记之缘起与大结局∶张起灵与汪藏海的500年恩怨情仇
  3. 图像指数、对数增强、直方图均衡化
  4. 逻辑与和或||的执行顺序
  5. 新手站长说说之伪静态与纯静态 哪个对SEO更好
  6. 直角坐标系中点的旋转【点绕点旋转】
  7. 千兆路由器怎么设置网速最快_无线路由器要用千兆,你家的网速才能真正上1000兆...
  8. 何恺明MIT求职演讲现场:提前三小时就有排队,超百页PPT回顾CV发展,以及“大神月半了”...
  9. 2019最新出国考试内容
  10. Node- Buffer对象,处理二进制数据