zoukankan      html  css  js  c++  java
  • CSS样式表优先级

    使用CSS样式表一共有2种方式:内部和外部,其中内部分为行内样式和嵌入式,外部分为导入式和链接式。

    如果需要在不同的方式中设定同一个属性的时候,样式的优先级别就出现了。

    测试代码如下:

    red.css:

    1. p{
    2. color:red;
    3. }

    test.html:

     

    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=GB2312">
    <title>Test Document</title>
    <style type="text/css">
    p{
    color:blue;
    }
    @import url(red.css);
    </style>
    </head>
    <body>
    <p style="color:gray;">文字颜色</p>
    </body>

    此时,显示文字颜色为灰色,说明行内样式优先级别最高:

    image

    去掉行内样式之后,显示为蓝色,说明页面嵌入式样式的优先级是仅次于行内样式的:

    image

    以上说明页面内部样式的优先级别是高于外部样式的。使用外部样式又有两种方式,分为导入式和链接式。

    增加一个样式表:green.css

    1. p{
    2. color:green;
    3. }

    分以下两种情况:

    情况A:

    <link href="green.css" type="text/css" rel="stylesheet">

    <style type="text/css">

    @import url(red.css);

    </style>

    情况B:

    <style type="text/css">

    @import url(red.css);

    </style>

    <link href="green.css" type="text/css" rel="stylesheet">

    经过尝试后发现,外部样式以最后的样式为准。

    经过上述测试,可以总结如下:

    • 行内样式 > 嵌入样式 > 外部样式
    • 外部样式中,出现在后面的样式优先级高于出现在前面的。

    但是,是不是所有的情况都是如此呢?

    将head中的样式代码改为下面的代码:

    <style type="text/css">

    p{

    color:blue;

    }

    </style>

    <style type="text/css">

    @import url(red.css);

    </style>

    此时显示的字体颜色为红色:

    image

    再例如:

    <style type="text/css">

    p{

    color:blue;

    }

    </style>

    <link href="green.css" type="text/css" rel="stylesheet">

    <style type="text/css">

    @import url(red.css);

    </style>

    此时显示字体颜色还是为红色,此时的优先级为:导入样式 > 链接样式 > 嵌入样式。因此,如果是<head>中存在多个<style>标记,那么这些样式的先后顺序决定了优先级别,而同一 个<style>内部,才会遵循嵌入样式优先于导入样式的规则。

    虽然各种使用方法有不同的优先级,但是在写样式的时候,最好只采用1~2种方式,这样利于后期的维护和管理,也不会出现样式冲突的情况。

  • 相关阅读:
    使用缓冲流和byte数组,拷贝文件
    java-类名的正确使用
    java-if语句调试
    java-if...else if...else语句调试
    java-打印101-200之间的素数(PrimeNumber),并统计个数,并每5行输出
    java-打印101-200之间的素数(PrimeNumber)
    冒泡排序-while实现
    冒泡排序-java实现
    java-求一组整数中的最大值
    python学习笔记之集合
  • 原文地址:https://www.cnblogs.com/liweitao/p/3623129.html
Copyright © 2011-2022 走看看