首页 > Web开发 > 详细

CSS

时间:2020-03-16 20:14:31      阅读:59      评论:0      收藏:0      [点我收藏+]
  • CSS概述

CSS是Cascading Style Sheets的简称,中文称为层叠样式表,用来控制网页数据的表现,可以使网页的表现与数据内容分离

  • 一、CSS的四种引入方式

  • 1、行内式

行内式实在标记的style属性中设定CSS样式,这种方式没有体现出CSS的优势,不推荐使用

<div style="color:red; background-color: beige">hello yuan</div>
  • 2、嵌入式

嵌入式是将CSS样式集中写在网页的<head></head>标签对的<style></style>标签对中。格式如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <style>
        p{
            color: rebeccapurple;
            font-size: 40px
        }

        a{
            text-decoration: dashed;
        }
    </style>

</head>
<body>

<div>hello div</div>
<p>hello p</p>
<a href="">点我</a>

</body>
</html>
  • 3、链接式

将一个.css文件引入到HTML文件中,属于html语法,在页面渲染完css代码之后再展示HTML文件,推荐使用

<head>

    <link href="test1.css" rel="stylesheet">

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

</head>

// rel="stylesheet" 代表引入的文件是一个css类型文件
// type="text/css" 可以不写
  • 4、导入式

将一个独立的.css文件引入HTML文件中,导入式使用CSS规则引入外部CSS文件,<style>标记也是写在<head>标记中,使用的语法如下:    

<head>

    <style>
        @import ‘test1.css‘;    // 此处要注意.css文件的路径
    </style>

</head>

注意:

导入式会在整个网页装载完后再装载CSS文件,因此这就导致了一个问题,如果网页比较大则会儿出现先显示无样式的页面,闪烁一下之后,再出现网页的样式,这是导入式固有的一个缺陷。使用链接式时与导入式不同的是它会以网页文件主体装载前装载CSS文件,因此显示出来的网页从一开始就是带样式的效果的,它不会象导入式那样先显示无样式的网页,然后再显示有样式的网页,这是链接式的优点。

技术分享图片
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <!--<style>-->
        <!--p{-->
            <!--color: rebeccapurple;-->
            <!--font-size: 40px-->
        <!--}-->
        <!--a{-->
            <!--text-decoration: dashed;-->
        <!--}-->
    <!--</style>-->

    <!--链接式-->
    <!--<link href="test1.css" rel="stylesheet">-->

    <!--导入式-->
    <style>
        @import ‘test1.css‘;
    </style>

</head>
<body>

<!--第一种引入方式-->
<!--<div style="color:red; background-color: beige">hello yuan</div>-->

<div>hello div</div>
<p>hello p</p>
<a href="">点我</a>

</body>
</html>
以上内容样例
技术分享图片
p{
    color: gold;
    font-size: 20px
}
test1.css
  • 二、css的选择器(Selector)

“选择器”指明了{}中的“样式”的作用对象,也就是“样式”作用于网页中的哪些元素

  • 1、基础选择器

* :            通用元素选择器,匹配任何元素                    * { margin:0; padding:0; }

E :            标签选择器,匹配所有使用E标签的元素               p { color:green; }

.info 和 E.info:class选择器,匹配所有class属性中包含info的元素   .info { background:red; }    p.info { background:blue; }

#info 和 E#info:id选择器,匹配所有id属性等于info的元素         #info { background:red; }   p#info { background:green; }
  • 2、组合选择器

E,F       多元素选择器,同时匹配所有E元素或F元素,E和F之间用逗号分隔         div,p { color:red; }

E F       后代元素选择器,匹配所有属于E元素后代的F元素,E和F之间用空格分隔    li a { font-weight:bold;}

E > F     子元素选择器,匹配所有E元素的子元素F                            div > p { color:green; }
 
E + F     毗邻元素选择器,匹配所有紧随E元素之后的同级元素F                  div + p { color:yellow; }  

注意嵌套规则:

1、块级元素可以包含内联元素或某些块级元素,但内联元素不能包含块级元素,它只能包含其它内联元素。

2、有几个特殊的块级元素只能包含内联元素,不能包含块级元素。如h1,h2,h3,h4,h5,h6,p,dt

<p>
    <div>p中的div</div>
</p>

结果为:

 

3、li内可以包含div

4、块级元素与块级元素并列、内联元素与内联元素并列

  • 3、属性选择器

E[att]          匹配所有具有att属性的E元素,不考虑它的值。(注意:E在此处可以省略,比如"[cheacked]",以下同)   p[title]{color:red;}
 
E[att=val]      匹配所有att属性等于"val"的E元素                                 div[class=”error”]{color:green;}
 
E[att~=val]     匹配所有att属性(包括具有多个空格分隔的值)其中一个值等于"val"的E元素      td[class~=”name”]{color:blue;}

E[attr^=val]    匹配属性值以指定值开头的每个元素                     div[class^="test"]{background:yellow;}

E[attr$=val]    匹配属性值以指定值结尾的每个元素                     div[class$="test"]{background:brown;}

E[attr*=val]    匹配属性值中包含指定值的每个元素                     div[class*="test"]{background:gray;}
技术分享图片
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <style>
        /**{*/
            /*color:red;*/
        /*}*/

        #littleP{
            background-color: blue;
        }

        .cuihua{
            color:aquamarine;
        }

        div.cuihua{
            color: brown;
        }
        /*注意:div和.之间不能有空格*/

        #littleP,div.cuihua{
            color:chartreuse;
        }
        .div1 .P{
            color: red;
        }

        .div1>p{
            color: blue;
        }

        .div1 div div{
            color: orange;
        }

        .div1 + div{
            background-color: darkcyan;
        }

        p div{
            color: red;
        }

        [alex]{
            color: red;
        }
        p[alex=‘dasb‘]{
            font-family: "Times New Roman";
            font-size: 30px;
        }

        [alex~=‘LI‘]{
            color:palevioletred;
        }

        [alex^=‘s‘]{
            color:teal;
        }

        [alex*=‘b‘]{
            color:slateblue;
        }


    </style>


</head>
<body>
hello body

<div>hello div</div>

<p id="littleP">pppp</p>
<p id="littlePP">ppp</p>
<p class="cuihua">pp</p>
<p class="cuihua">p</p>

<div class="cuihua">div</div>

<a herf="">aaa</a>

<div>hello div before</div>

<div class="div1">
    <div>
        <a href="">a</a>
        <p class="P">ppp</p>
        <div>div3</div>
    </div>
    <p>p ele</p>
    <div class="div2">div2</div>
</div>

<div>after div1</div>
<div>after div11</div>
<p>after div1 p</p>


<!--p标签不能包含块级标签-->
<p>
    <div>p中的div</div>
</p>

<!--属性选择器-->

<div>hello1</div>
<div alex="sb LI">alex</div>
<div alex="dasb">hello1</div>
<p alex="dasb">hello2</p>

<div class="div1 div2">hello1</div>

</body>
</html>
以上内容样例

 

 

 

CSS

原文:https://www.cnblogs.com/eryuehong/p/12505492.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!