zoukankan      html  css  js  c++  java
  • 我与前端之间不得说的三天两夜之css基础


    前端基础之CSS

    CSS 语法

    CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明。
    '''
            selector {
                      property: value;
                      property: value;
                 ...  property: value
             
              }
             
    '''

    css的四种引入方式

    1.行内式

    行内式是在标记的style属性中设定CSS样式。这种方式没有体现出CSS的优势,不推荐使用。
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
    </head>
    <body>
    <p>p1</p>
    <p>p1</p>
    <p>p3</p>
    <!--css内嵌式-->
    <p style="color: red">p3</p>
    </body>
    </html>

    2.嵌入式

    嵌入式是将CSS样式集中写在网页的<head></head>标签对的<style></style>标签对中。格式如下:
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
       <style>
            p {
                color: red;
                background-color: wheat;
            }
        </style>
    </head>
    <body>
    <p>p1</p>
    <p>p1</p>
    <p>p3</p>
    
    </body>
    </html>
     

    3 链接式

    将一个.css文件引入到HTML文件中
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        #方式三 链接式 推荐
        <link rel="stylesheet" href="index.css">
    </head>
    <body>
    
    <p>p1</p>
    <p>p1</p>
    <p>p3</p>
    
    
    </body>
    </html>

    4.导入式

    将一个独立的.css文件引入HTML文件中,导入式使用CSS规则引入外部CSS文件,<style>标记也是写在<head>标记中,使用的语法如下:
    #不常用
    <style type="text/css">
     
              @import"mystyle.css"; 此处要注意.css文件的路径
     
    </style> 

    注意:

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

    css选择器

    基本选择器


    组合选择器

    E,F   多元素选择器,同时匹配所有E元素或F元素,E和F之间用逗号分隔      :div,p { color:#f00; }
     
    E F   后代元素选择器,匹配所有属于E元素后代的F元素,E和F之间用空格分隔 :li a { font-weight:bold;}
     
    E > F   子元素选择器,匹配所有E元素的子元素F            :div > p { color:#f00; }
      
    E + F   毗邻元素选择器,匹配所有紧随E元素之后的同级元素F  :div + p { color:#f00; } 
     
    E ~ F   普通兄弟选择器(以破折号分隔)                 :.div1 ~ p{font-size: 30px; }

    注意,关于标签嵌套:

    一般,块级元素可以包含内联元素或某些块级元素,但内联元素不能包含块级元素,它只能包含其它内联元素。需要注意的是,p标签不能包含块级标签。

    属性选择器

    E[att]          匹配所有具有att属性的E元素,不考虑它的值。(注意:E在此处可以省略。
                    比如“[cheacked]”。以下同。)   p[title] { color:#f00; }
     
     
    E[att=val]      匹配所有att属性等于“val”的E元素   div[class=”error”] { color:#f00; }
     
     
    E[att~=val]     匹配所有att属性具有多个空格分隔的值、其中一个值等于“val”的E元素
                    td[class~=”name”] { color:#f00; }
     
    E[attr^=val]    匹配属性值以指定值开头的每个元素                    
                    div[class^="test"]{background:#ffff00;}
     
    E[attr$=val]    匹配属性值以指定值结尾的每个元素    div[class$="test"]{background:#ffff00;}
     
    E[attr*=val]    匹配属性值中包含指定值的每个元素    div[class*="test"]{background:#ffff00;}
    示例:
    一、基本选择器
        1、标签选择器
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
             /* 一 基本选择器*/
           /*1 标签选择器*/
            div{
                color: red;            #根据标签来进行定位
            }
        </style>
    </head>
    <body>
    <p class="c3">P2</p>
    <div class="c2">
        <div>
            <p>P3</p>
        </div>
        <p class="c3">P1</p>
    </div>
    <span>span</span>
    <p class="c3">P2</p>
    <div>DIV</div>
    </body>
    </html>
    输出结果:可以看到只要是div标签的的字符串都变成了红色
         2、id选择器
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    
    
    
        <style>
    
             /* 一 基本选择器*/
    
           /*1 标签选择器*/
            /*div{*/
                /*color: red;*/
            /*}*/
            /*2 id选择器*/
            #p2{
                color: red;      #根据id来进行定位
            }
    
    
    
    
    
        </style>
    </head>
    <body>
    
    <p class="c1">p1</p>
    <p id="p2">p2</p>        #会把p2的字符串变红
    <p class="c1">p3</p>
    
    <div>DIV</div>
    </body>
    </html>
    运行结果:
     
        3、class选择器
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    
    
    
        <style>
    
             /* 一 基本选择器*/
    
           /*1 标签选择器*/
            /*div{*/
                /*color: red;*/
            /*}*/
            /*2 id选择器*/
            /*#p2{*/
                /*color: red;*/
            /*}*/
           /*3 class选择器*/
    
            .c1{                    #根据class组进行定位选择
                color: red;
            }
        </style>
    </head>
    <body>
    
    <p class="c1">p1</p>           #选择class为c1的组
    <p id="p2">p2</p>
    <p class="c1">p3</p>            #选择class为c1的组
    <div>DIV</div>
    </body>
    </html>
         4、* 选择
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            * {                      #*指代所有
                color: red;
            }
        </style>
    </head>
    <body>
    <p class="c1">p1</p>
    <p id="p2">p2</p>
    <p class="c1">p3</p>
    <div>DIV</div>
    </body>
    </html>
     
    二、组合选择器
        1、后代选择器
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            /*二 组合选择器*/
            /*1 后代选择器*/
            .c2 p{
                color: red;          #后代选择器表示只要在这个标签的下的p标签都会进行定位选择
            }
        </style>
    </head>
    <body>
    <p class="c3">P2</p>
    <div class="c2">               #c2
        <div>
            <p>P3</p>              #p标签
        </div>
        <p class="c3">P1</p>       #p标签
    </div>
    <span>span</span>
    <p class="c3">P2</p>
    <div>DIV</div>
    </body>
    </html>
     输出结果:
     
        2、子代选择器
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
             /*2 子代选择器*/
             #子代选择器值得是在一个组下就只在这个组下找p标签不会再这个组下的其他标签找p标签
            .c2>p{
                color: red;
            }
        </style>
    </head>
    <body>
    <p class="c3">P2</p>
    <div class="c2">
        <div>
            <p>P3</p>
        </div>
        <p class="c3">P1</p>
    </div>
    <span>span</span>
    <p class="c3">P2</p>
    <div>DIV</div>
    </body>
    </html>
    输出结果:
     







  • 相关阅读:
    linq获取最大ID值
    asp:MultiView选项卡控件,可以用来选择性的显示需要的部门
    TFS修改工作区映射区
    怎么解决javascript小数相减会出现一长串的小数位数?
    (转)向页面动态载入用户控件和自定义控件的方法(谨记)
    (转)工作经验到底是个什么东东?工作经验从哪里来?
    hdu 5441 travel 离线+带权并查集
    hdu 5438 Ponds dfs
    hdu 5437 Alisha’s Party 模拟 优先队列
    CF 500 B. New Year Permutation 并查集
  • 原文地址:https://www.cnblogs.com/zcfx/p/7553847.html
Copyright © 2011-2022 走看看