zoukankan      html  css  js  c++  java
  • css基础总结

    CSS的4种引入方式是:行内样式、内嵌样式、链接样式、导入样式

    CSS有三大特性,分别是继承性,层叠性,优先级。

    继承性是指指被包在内部的标签将拥有外部标签的样式性,即子元素可以继承父元素的属性

    例如下面的代码,div中包含2个p标签,1个span标签,当给div设置字体颜色为红色时,他的子标签会继承父元素的属性,因而会显示红色。 在CSS中以text-、font-、line- 开头的属性都是可以继承的。

    <!DOCTYPE html>  
    <html>  
    <head lang="en">  
        <meta charset="UTF-8">  
        <title></title>  
        <style>  
            div {  
                color: red;  
            }  
        </style>  
    </head>  
    <body>  
        <div>  
            <p>雪梨</p>  
            <p>橙子</p>  
            <span>西瓜</span>  
        </div>  
    </body>  
    </html>  

    a 标签的字体颜色不能被继承,例如将上面代码的div标签中代码改为如下的代码后,a标签的字体颜色是不会改变的,通过页面的F12可以查看得到,a标签是有一个默认的  color: -webkit-link;字体颜色属性,所以给父元素设置颜色是不能改变a标签字体的颜色

    <div>  
        <p>苹果</p>  
        <p>香蕉</p>  
        <span>葡萄</span>  
        <a href="#">这是a标签</a>  
    </div>

     h标签字体的大下也是不能被继承的,如下代码给父元素在设置一个字体属性20px,在div中添加一个h2标签,在浏览器中可以发现h2标签中的字体大小不会改变,因为h2标签中也有一个默认的默认的font-size: 1.5em;字体大小属性。

    <!DOCTYPE html>  
    <html>  
    <head lang="en">  
        <meta charset="UTF-8">  
        <title></title>  
        <style>  
            div {  
                color: red;  
                font-size: 20px;  
            }  
        </style>  
    </head>  
    <body>  
        <div>  
            <p>苹果</p>  
            <p>香蕉</p>  
            <span>葡萄</span>  
            <a href="#">这是a标签</a>  
            <h2>这是h2标签</h2>  
        </div>  
    </body>  
    </html>  

    div 标签的高度如果不设置由内容来决定(没有内容高度为0),宽度默认由父元素继承过来,下面的代码就很好的演示了div的宽高,在每个div标签后面添加了一个br标签来强制换行,因为如果不使用br标签来强制换行的话,div就会紧紧挨着一起,看不不出来div的高度,第一个div因为没有内容,所以在浏览器上不显示出来,而第二div里面添加了一句话,但是高度是由里面的内容撑出来的,第三个div里面也是一句话,并且在内容当中使用了一个br标签来强制换行,这样就会发现该div的高度会比第二div的高度要高,如果继续向div标签里面添加内容,高度也会随之相应的变高。

    <!DOCTYPE html>  
    <html>  
    <head lang="en">  
        <meta charset="UTF-8">  
        <title></title>  
        <style>  
            div {  
                background-color: red;  
            }  
        </style>  
    </head>  
    <body>  
        <div></div>  
        <br/>  
        <div>这是div标签</div>  
        <br/>  
        <div>这也是<br/>div标签</div>  
    </body>  
    </html>  

    层叠性指的是上级标签的样式会自动继承到其所有下级标签,如针对<body>设置的标签选择器所设的字体样式会自动应用到<body>下的<p>中,除非<p>重写了相关样式将其覆盖。

    样式的优先级

    多重样式(Multiple Styles):如果外部样式、内部样式和内联样式同时应用于同一个元素,就是使多重样式的情况。

    一般情况下,优先级如下:

    (外部样式)External style sheet <(内部样式)Internal style sheet <(内联样式)Inline style

    有个例外的情况,就是如果外部样式放在内部样式的后面,则外部样式将覆盖内部样式。

    A 选择器都有一个权值,权值越大越优先;

    B 当权值相等时,后出现的样式表设置要优于先出现的样式表设置;

    C 创作者的规则高于浏览者:即网页编写者设置的CSS 样式的优先权高于浏览器所设置的样式;

    D 继承的CSS 样式不如后来指定的CSS 样式;

    E 在同一组属性设置中标有“!important”规则的优先级最大

    1.行内样式

    最直接最简单的一种,直接对HTML标签使用style="",例如:

    <p style="color:#F00; "></p>

    缺点:HTML页面不纯净,文件体积大,不利于蜘蛛爬行,后期维护不方便。

    2.内嵌样式

    内嵌样式就是将CSS代码写在<head></head>之间,并且用<style></style>进行声明,例如:

    <style type="text/css">

    body,div,a,img,p{margin:0; padding:0;}

    </style>

    优缺点:页面使用公共CSS代码,也是每个页面都要定义的,如果一个网站有很多页面,每个文件都会变大,后期维护难度也大,如果文件很少,CSS代码也不多,这种样式还是很不错的。

    3.链接样式

    链接样式是使用频率最高,最实用的样式,只需要在<head></head>之间加上<link…/>就可以了,如下:

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

    优缺点:实现了页面框架代码与表现CSS代码的完全分离,使得前期制作和后期维护都十分方便

    4.导入样式(不建议使用)

    导入样式和链接样式比较相似,采用@import样式导入CSS样式表,在HTML初始化时,会被导入到HTML或者CSS文件中,成为文件的一部分,类似第二种内嵌样式。

    @import在html中使用,如下:

    <style type="text/css">
    @import url(style.css);
    </style>

    @import在CSS中使用,如下:

    @import url(style.css);

    第二:四种CSS引入方式的优先级

    1.就近原则

    2.理论上:行内>内嵌>链接>导入

    3.实际上:内嵌、链接、导入在同一个文件头部,谁离相应的代码近,谁的优先级高。

  • 相关阅读:
    微信小程序购物商城系统开发系列-工具篇
    CSS实现导航条Tab切换的三种方法
    最详细win7下手动搭建PHP环境:apache2.4.23+php7.0.11
    读书笔记:《HTML5开发手册》Web表单
    jQuery可拖拽3D万花筒旋转特效
    框架基础:关于ajax设计方案(三)---集成ajax上传技术
    框架基础:ajax设计方案(二)---集成轮询技术
    框架基础:ajax设计方案(一)---集成核心请求
    Apache+PHP+MySQL
    自学 PHP,如何不走弯路?
  • 原文地址:https://www.cnblogs.com/lhl66/p/7486005.html
Copyright © 2011-2022 走看看