基础篇CSS你知道多少?

前言

css就像女人的化妆品一样,化妆前后

对于web 前端来说,书写好css是不容易的一件事情。下面就让我把工作中遇到问题分享给大家。

css优先级

先看下图

优先级

选择器的优先权解释说明

  1. 内联样式表的权值最高 1000。
  2. ID 选择器的权值为 100。
  3. Class 类选择器的权值为 10。
  4. HTML 标签(类型)选择器的权值为 1。
  5. !important权重最高 (注意)

例:

//css
#slides{
    color: #8A2BE2;/*权重值100*/
}
.slides{
    color: #000000;/*权重值10*/
}
div{
    color: #F2F2F2;/*权重值1*/
}
//HTML
<div class="slides" id="slides" style="color: red;/*权重值1000*/">
    slides
</div>
//js
setTimeout(function(){
    var d=document.getElementById(‘slides‘);
    d.style.color=‘blue‘;
},500);
//js改变的样式是属于 内联样式。

多重样式

比如页面有【内部样式】、【外联样式】权重相同则【内部样式】优先;

例:

<link rel="stylesheet" href="css/dome.css" />
<style type="text/css">
#slides{
    color: #8A2BE2;/*权重值100*/
}
</style>

注:

  1. 如果两个【外联样式】同时含有相同权重class类名,则后者权重优先。
  2. 如果两个【内部样式】同时含有相同权重class类名,则后者权重优先。

猜猜渲染结果是什么?

例1:

//css
.bg{
    background-color: #8A2BE2;
}
.slides{
    background-color: #000000;
}
//html
<div class="slides bg">
    slides
</div>
//渲染结果背景颜色是 bg 还是 slides?

//html
<div class=" bg slides">
    slides
</div>
//问:渲染结果背景颜色是 bg 还是 slides?

例2:

//css
.bg{
    background-image: url(img/1.png);
}
.slides{
    background-color: #000000;
}
//html
<div class="slides">
    slides
</div>
//问:(HTML内没有使用 bg  class类名)图片1.png会不会下载?

例3:

//css--内部样式
.slides{
    background-color: #000000;
}
//html
<div class="slides">
    slides
</div>
//js
setTimeout(function(){
    var dom=document,
    head = dom.getElementsByTagName(‘head‘)[0],
    link = dom.createElement(‘link‘);
    link.href = ‘css/dome.css‘;
    link.rel = ‘stylesheet‘;
    link.type = ‘text/css‘;
    head.appendChild(link); /*添加到HTML中*/
},500)
//‘css/dome.css‘的内容为
.slides{
    background-color: red;
}
//问:slides的背景颜色是什么?

例4:

问:css加载会不会影响dom解析?

Da 案

例1:slides  slides
  渲染样式跟<div>标签引用的class 前后顺序不相干,跟css中class 名称的顺序有关
例2:图片1.png会下载
  因为dom解析需要下载css,因此css中图片会下载
例3:red
  因为‘css/dome.css‘是后来使用js加载进去的,渲染引擎会等待加载完毕进行再次渲染。
例4:css加载不会影响dom解析,但它会影响dom渲染。因为只有所有css资源都下载完毕才会进行渲染,不然浏览器会一直重绘。

总结

深入学习css其实我们还需要更加努力,就像张鑫旭大佬一样,探索css世界把它读懂、学精。

原文地址:https://www.cnblogs.com/xiaoxiaokun/p/9011800.html

时间: 2024-11-08 21:42:05

基础篇CSS你知道多少?的相关文章

前端总结&#183;基础篇&#183;CSS

前端总结·基础篇·CSS 1 常用重置+重置插件(Normalize.css,IE8+) * {box-sizing:border-box;}  /* IE8+ */body {margin:0;}  /* 去除边距 */ul {margin:0;padding-left:0;}  /* 去除边距和左填充 */li {list-style-type:none;}  /* 去除列表的圆点 */a {text-decoration:none;}  /* 去除下划线 */ 2 浏览器前缀 { tran

2天驾驭DIV+CSS (基础篇)(转)

这是去年看到的一片文章,感觉在我的学习中,有不少的影响.于是把它分享给想很快了解css的兄弟们. 基础篇[知识一] “DIV+CSS” 的叫法是不准确的[知识二] “DIV+CSS” 将你引入两大误区[知识三] 什么是W3C标准?[基础一] CSS如何控制页面[基础二] CSS选择器[基础三] CSS选择器命名及常用命名[基础四] 盒子模型[基础五] 块状元素和内联元素 实战篇[第一课] 实战小热身[第二课] 浮动[第三课] 清除浮动[第四课] 导航条(上) | 导航条(下)[大练习] 前四节课

纯CSS写三角形-border法[基础篇]

纯CSS写三角形-border法[基础篇] 注意:所有知识点将不考虑IE6 ( ̄▽ ̄") 在制作如上图所示的三角形时,我们基本采用PNG或GIF图片来实现,这种形式在编写代码时较容易掌握,所以得到普遍制作者的认可.但涉及到后期优化维护的话,就需要不断的修改图片,在图形编辑器和代码编辑器之间来回切换,这无疑是加大了工作量.所以,如果单纯利用CSS来写的话,不但可以减少网站零碎图片的数量.减少了加载图片的时间,而且在修改时不用再重新切图,减少工作量. CSS3出现以后,“方形旋转45度”制作三角形的

Vue.js基础篇实战--一个ToDoList小应用

距离开始学Vue已经过去一个多月了,总想把学到的东西柔和在一起,做点东西出来,于是有了这个Todolist小应用. 主要功能就是把一天要做的事情记录下来,还实现了: 标记完成事件 删除已完成事件 各种排序 仅显示未完成的项目 本地保存 截图看这里 用时一周,14次commits,把心中的构想基本实现了.详情请看:这里 整个过程下来,收获还是很多的, 1.对mvvm有了进一步的理解, 2.对css布局有了更多的了解. 3.更进一步理解了Vue的事件和组件机制.这些机制将应用解耦,每一部分都隔离出来

Python之路【第十六篇】:Django【基础篇】

Python之路[第十六篇]:Django[基础篇] Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能. 基本配置 一.创建django程序 终端命令:django-admin startproject sitename IDE创建Django程序时,本质上都是自动执行上述命令 其他常用命令: python manage.py runserver

Javascript基础篇小结

Javascript基础篇小结 字数9973 阅读3975 评论7 喜欢28 转载请声明出处 博客原文 随手翻阅以前的学习笔记,顺便整理一下放在这里,方便自己复习,也希望你有也有帮助吧 第一课时 入门基础 知识点: 操作系统就是个应用程序 只要是应用程序都要占用物理内存 浏览器本身也是一个应用程序 浏览器本身只懂得解析HTML 调用浏览器这个应用程序的一个功能绘制 1.javascript介绍 JavaScript操作DOM的本质是=获取+触发+改变 目的:就是用来操作内存中的DOM节点 修改D

JavaScript笔记基础篇(二)

基础篇主要是总结一些工作中遇到的技术问题是如何解决的,应为本人属于刚入行阶段技术并非大神如果笔记中有哪些错误,或者自己的一些想法希望大家多多交流互相学习. 1.ToFixed()函数 今天在做Birt报表时, 要显示一列百分比的数据,但因一些特别的原因,不能使用使用百分比样式,即如果数据是0.9538不能显示成“95.38%”的样式,必须显示成“95.38”. 开始时想使用javascript的内置函数Math.round(),可Math.round()只能显示为整数,而不能保留小数. 再网上搜

[转载]前端工程——基础篇

特别声明:本文转载@云龙的<前端工程——基础篇>,感谢@云龙的分享. 喂喂喂,那个切图的,把页面写好就发给研发工程师套模板吧. 你好,切图仔. 不知道你的团队如何定义前端开发,据我所知,时至今日仍然有很多团队会把前端开发归类为产品或者设计岗位,虽然身份之争多少有些无谓,但我对这种偏见还是心存芥蒂,酝酿了许久,决定写一个系列的文章,试着从工程的角度系统的介绍一下我对前端,尤其是Web前端的理解. 只要我们还把自己的工作看作为一项软件开发活动,那么我相信读过下面的内容你也一定会有所共鸣. 前端,是

2000条你应知的WPF小姿势 基础篇&lt;1-7&gt;

在正文开始之前需要介绍一个人:Sean Sexton. 来自明尼苏达双城的软件工程师,对C#和WPF有着极深的热情.最为出色的是他维护了两个博客:2,000Things You Should Know About C# 和 2,000 Things You Should Know About WPF .听到博客名字就懂这个人有多伟大了吧.他以类似微博式的150字简短语言来每天更新一条WPF和C#重要又容易被遗忘的知识.Follow他的博客也有一段日子了,很希望能够分享给大家. 本系列我不仅会翻译