zoukankan      html  css  js  c++  java
  • css基本知识、选择器

    CSS 是指层叠样式表 (Cascading Style Sheets),基本语法规则如下

    CSS 由两个主要的部分构成:选择器,以及一条或多条声明

    声明以大括号{ }括起来,一个申明包括属性和值,属性与值通过冒号分隔;多个声明通过分号;分隔

    CSS注释以 "/*" 开始, 以 "*/" 结束,即/*注释内容*/

    在html中插入CSS样式表的方法有三种:

    1.外部样式表(External style sheet):即所有的样式单独写在一个.css文件中,在html文件的head部分通过link进行链接

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

    其中href表示的是外部css文件的路径和名称

    2.内部样式表(Internal style sheet):即写在html文件内,同样在head部分,但是是通过<style>······</style>进行引入的

    <head>
        <style>
            body {background-image:url("images/back40.gif");}
            hr {color:red;} 
            p {margin-left:20px;} 
        </style> 
    </head>        

    3.内联样式(Inline style):即将css表现内容与html内容糅合在一起,需要在html标签内通过style=' '来引用

    <p style="color:sienna;margin-left:20px">这是一个段落。</p>

    对于一个html文件,可以同时使用多种css样式,此时显示优先级为内联样式 > 内部样式 > 外部样式 > 浏览器默认样式

    单个选择器类型 

    1.对所有元素生效 *{front-size=14px}

    2.行选择器  p { text-align:center;}

    3.id选择器,以id属性来设置id选择器,以 "#" 来定义id选择器样式

    id 选择器为标有特定 id 的HTML元素指定特定的样式,id是唯一的,即在一个文件中不可能存在两个相同id的标签

    <style>
        #para1
        { text-align:center; color:red; } 
    </style>
    ······
    <p id="para1">Hello World!</p>
    <p>这个段落不受该样式的影响。</p>    

     4.class选择器可以在多个元素中使用,以class属性来设置class选择器,以 "." 来定义class选择器样式

    class属性值不唯一,即不同的标签可以使用相同的class值

    <style>
        .center
        { text-align:center; }
    </style>
    ······
    <h1 class="center">标题居中</h1>
    <p class="center">段落居中。</p> 

     id选择器和class选择器,属性都不要以数字开头

     如果只使用内部样式表,各选择器的优先级为class选择器>id选择器>行选择器

    组合选择器

    1.选择器1,选择器2,选择器3···,选择器n:多元素选择器,以逗号隔开,对各个选择器均生效

    .container,#center,h1,p{color:red}

    2.选择器1 选择器2:后代元素选择器,以空格隔开,对选择器1的下属选择器2生效,如果选择器1的一级子元素下没有选择器2,则在二级元素下寻找,再在三级元素下寻找,一直找到最后一级元素

    ul li a{text-decoratio;none}

    3.选择器1>选择器2:子元素选择器,以>隔开,对选择器1的下属选择器2生效,选择器2只能是选择器1的一级子元素

    4.选择器1+选择器2:毗邻选择器,对选择器1后面紧跟着的兄弟选择器2生效

    5.选择器1~选择器2:对选择器1后面的兄弟选择器2生效,不要求紧挨

    也可以指定特定的html元素使用id和class

    <style
        p#para1
        {text-align:left;color:red; }
        p.center
        { text-align:center; color:green; }
    </style>
    ······
    <p id="para1">使用id选择器</p>
    <p class="center">使用class选择器</p>

    属性选择器,以下为常用的

    ······
    [name]{color:red} <!--对有name属性的元素生效-->
    p[name]{color:green} <!--对p标签中有name属性的元素生效-->
    p[name='p2']{color:yellow} <!--对p标签中有name属性且值为yellow的元素生效-->
    ······
    <p name='p1'>p1</p>   <!--绿色-->
    <p name='p2'>p2</p>   <!--黄色-->
    <div name='p3'>div</div>  <!--红色-->

    嵌套选择器,例子如下,需好好理解

    <style>
        p {color:blue;text-align:center;}
        .marked {background-color:red;}
        .marked p {color:white;}
        p.marked {text-decoration:underline;}
    </style>
    ······
    <body>
        <p>这个段落是蓝色文本,居中对齐。</p>
        <div class="marked">
            <p>这个段落不是蓝色文本。</p>
        </div>
        <p>所有 class="marked"元素内的 p 元素指定一个样式,但有不同的文本颜色。</p>    
        <p class="marked">带下划线的 p 段落。</p>
    </body>
    ······

    显示效果如下

    在上述例子中

    p{ }: 为所有 p 元素指定一个样式。

    .marked{ }: 为所有 class="marked" 的元素指定一个样式。

    .marked p{ }: 为所有 class="marked" 元素内的 p 元素指定一个样式。

    p.marked{ }: 为所有 class="marked" 的 p 元素指定一个样式。

  • 相关阅读:
    perl get请求发送json数据
    一招教你玩转SQL:通过找出数据的共同属性实现SQL需求
    Uncaught (in promise) Error: Component series.map not exists. Load it first
    python post 参数
    python 发送json数据
    毫秒级从百亿大表任意维度筛选数据,是怎么做到的…
    python 日期处理
    python urlencode urldecode
    在服务器本地监控服务端口命令之ss
    在服务器本地监控服务端口命令之ss
  • 原文地址:https://www.cnblogs.com/Forever77/p/10203625.html
Copyright © 2011-2022 走看看