初始CSS3

一.CSS
            Cascading Style Sheet  级联样式表

            1.表现HTML或XHTML文件样式的计算机语言
            2.包括对字体、颜色、边距、高度、宽度、背景图片、网页定位等设定


    二.css的优势:

            1.内容与表现分离
            2.网页的表现统一,容易修改
            3.丰富的样式,使得页面布局更加灵活
            4.减少网页的代码量,增加网页的浏览速度,节省网络带宽
            5.运用独立于页面的CSS,有利于网页被搜索引擎收录


    三.css语法基本结构:
            选择器{

                    声明1;

                    声明2;
            }

            h1 {

                font-size:12px;
                color:#F00;
            }

    四.三种样式:
                1.行内样式
                        <h1 style="color:blue;font-size: 10px;">今天可能下冰雹,大家每人回家准备一口锅,盖头上</h1>

                        行内样式有style属性控制,双引号中间的内容就是样式列表,且内个样式用分号分割

                2.内部样式表

                        在<head></head>标签中写<style type="text/css"></style>

                        <head lang="en">
                            <meta charset="UTF-8">
                            <title>内部样式效果</title>
                            <style type="text/css">
                                h1{
                                    color: green;
                                    font-size: 100px;
                                }
                            </style>
                        </head>

                        注意:将全部符合条件的标签全部变样式

                3.外部样式表
                        需要创建.css文件
                        style.css
                                h1{
                                     color: aqua;
                                     font-size: 15px;
                                 }
                        在HTML文件当中引用样式
                            链接式:<link href="文件路径" rel="stylesheet" type="text/css"/>
                            导入式:<style type="text/css">
                                       
                                       @import "文件路径";

                                    </style>

                4.链接式和导入式的区别

                    4.1<link/>标签属于XHTML,@import是属于CSS2.1
                    4.2使用<link/>链接的CSS文件先加载到网页当中,再进行编译显示
                    4.3使用@import导入的CSS文件,客户端显示HTML结构,再把CSS文件加载到网页当中
                    4.4@import是属于CSS2.1特有的,对不兼容CSS2.1的浏览器是无效的

                5.样式优先级
                        1.行内样式>内部样式表>外部样式表
                        2.就近原则

                6.三种基本选择器

                    6.1 标签

                        <h1>p和h1有什么区别</h1>
                         h1 {
                            color: green;
                        }

                    6.2 class选择器
                            <h1 class="ZJN">p和h1有什么区别</h1>
                            .ZJN{
                                color:yellow;
                            }
                    6.3 id选择器
                            <h1 id="ZJNHH">p和h1有什么区别</h1>
                            #ZJNHH{
                                color:black;
                            }
                    遵循id>class>标签,注意,id不能重复

                7.层次选择器

                    7.1 /*后代选择器*/
                            body p{
                                background: yellow;
                            }
                        body标签下的所有p标签都要变

                    7.2 /*子类选择器*/
                            body>p{
                                background: blue;
                            }
                        只有body下的p变,其他包含p的不变

                    7.3/*相邻兄弟选择器*/

                            .active+p{
                                background: green;
                            }
                        定位class为active相邻的第一个p变

                    7.4/*通用选择器*/
                            .active~p{
                                background: red;
                            }

                8.结构伪类选择器
                        <style type="text/css">
                                    /*定位ul下的第一个li*/
                                    ul li:first-child{
                                        background: yellow;
                                    }
                                    /*定位ul下的最后一个li*/
                                    ul li:last-child{
                                        background: blue;
                                    }
                                    /*定位第三个p*/
                                    p:nth-child(3){
                                        background: green;
                                    }
                                    /*定位第一个p*/
                                    p:first-of-type{
                                        background: red;
                                    }
                                    /*定位指定位置的p*/
                                    p:nth-of-type(2){
                                           background: blueviolet;
                                    }
                        </style>

                            <p>p1</p>
                            <p>p2</p>
                            <p>p3</p>
                            <ul>
                                <li>li1</li>
                                <li>li2</li>
                                <li>li3</li>
                            </ul>

                            E:first-child    作为父元素的第一个子元素的元素E
                            E:last-child    作为父元素的最后一个子元素的元素E
                            E F:nth-child(n)    选择父级元素E的第n个子元素F,(n可以是1、2、3),关键字为even、odd
                            E:first-of-type    选择父元素内具有指定类型的第一个E元素
                            E:last-of-type    选择父元素内具有指定类型的最后一个E元素
                            E F:nth-of-type(n)    选择父元素内具有指定类型的第n个F元素

                9.属性选择器
                        <style type="text/css">
                            .demo a {
                                float: left;
                                display: block;
                                height: 50px;
                                50px;
                                border-radius: 10px;
                                text-align: center;
                                background: #aac;
                                color: blue;
                                font: bold 20px/50px Arial;
                                margin-right: 5px;
                                text-decoration: none;
                                margin: 5px;
                            }
                            /*属性*/
                            a[id]{
                                background: red;
                            }
                            /*属性值*/
                            a[href=efc]{
                                background: yellow;
                            }
                            /*属性开头*/
                            a[href^=s]{
                                background: orange;
                            }
                            /*属性结尾*/
                            a[target$=k]{
                                background: palevioletred;
                            }
                            /*属性包含*/
                            a[href*=a]{
                                    background: purple;
                            }
                        </style>

                    <p class="demo">
                        <a href="http://www.baidu.com" class="links item first" id="first" >1</a>
                        <a href="" class="links active item" title="test website" target="_blank" >2</a>
                        <a href="sites/file/test.html" class="links item"  >3</a>
                        <a href="sites/file/test.png" class="links item" > 4</a>
                        <a href="sites/file/image.jpg" class="links item" >5</a>
                        <a href="efc" class="links item" title="website link" >6</a>
                        <a href="/a.pdf" class="links item" >7</a>
                        <a href="/abc.pdf" class="links item" >8</a>
                        <a href="abcdef.doc" class="links item" >9</a>
                        <a href="abd.doc" class="linksitem last" id="last">10</a>
                    </p>

                    E[attr]    选择匹配具有属性attr的E元素
                    E[attr=val]    选择匹配具有属性attr的E元素,并且属性值为val(其中val区分大小写)
                    E[attr^=val]    选择匹配元素E,且E元素定义了属性attr,其属性值是以val开头的任意字符串
                    E[attr$=val]    选择匹配元素E,且E元素定义了属性attr,其属性值是以val结尾的任意字符串
                    E[attr*=val]    选择匹配元素E,且E元素定义了属性attr,其属性值包含了“val”,换句话说,字符串val与属性值中的任意位置相匹配

原文地址:https://www.cnblogs.com/ws1149939228/p/9182642.html