zoukankan      html  css  js  c++  java
  • 基础篇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世界把它读懂、学精。

  • 相关阅读:
    二叉树的遍历以及创建——by leona
    利用图像压缩模型抵御对抗样本 by ch
    卡尔曼滤波器及其扩展的个人学习笔记~
    用GAN进行图像压缩 by ch
    用深度学习进行图像压缩 by ch
    3D目标检测&6D姿态估计之SSD-6D算法--by leona
    如何搭建三维重建工程体系
    C++面对对象(一)
    Pybind11教程
    C++的debug和release区别
  • 原文地址:https://www.cnblogs.com/xiaoxiaokun/p/9011800.html
Copyright © 2011-2022 走看看