• CSS选择器


    CSS选择器

    基础语法

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

    selector {declaration1; declaration2; ... declarationN }

    如:

    body {
     color: #000;
     background: #fff;
     margin: 0;
     padding: 0;
     font-family: Georgia, Palatino, serif;
    }

    如果值为多个单词,则要给值加引号:

    p {font-family: "sans serif";}

    分组

    h1,h2,h3,h4,h5,h6 {
     color: green;
    }

    子元素从父元素继承属性。

    body {
        font-family: Verdana, sans-serif;
    }

    不需要另外的规则,所有 body 的子元素都应该显示 Verdana 字体,子元素的子元素也一样。

    如果有子元素希望有特殊的样式,可以再加一条特定规则:

    body  {
        font-family: Verdana, sans-serif;
        }
    p {
        font-family: Times, "Times New Roman", serif;
        }

    派生选择器

    strong {
        color: red;
        }

    h2 {
        color: red;
        }

    h2 strong {
        color: blue;
        }

    下面是它施加影响的 HTML:

    <p>The strongly emphasized word in this paragraph is<strong>red</strong>.</p>
    <h2>This subhead is also red.</h2>
    <!-- h2>strong颜色为蓝色 -->
    <h2>The strongly emphasized word in this subhead is<strong>blue</strong>.</h2>

    id选择器

    #red {color:red;}
    #green {color:green;}
    <p id="red">这个段落是红色。</p>
    <p id="green">这个段落是绿色。</p>

    结合派生选择器:

    #sidebar p {
    	font-style: italic;
    	text-align: right;
    	margin-top: 0.5em;
    	}

    类选择器

    .center {text-align: center}

    元素也可以基于它们的类而被选择:只有类名为 fancy 的表格单元将是带有灰色背景的橙色。

    td.fancy {
    	color: #f60;
    	background: #666;
    	}
    • 多类选择器

    <p class="important warning">
    This paragraph is a very important warning.
    </p>
    .important {font-weight:bold;}
    .warning {font-style:italic;}
    .important.warning {background:silver;}

    属性选择器

    • 为带有 title 属性的所有元素设置样式:

    [title]
    {
    color:red;
    }
    • 为 title="W3School" 的所有元素设置样式:

    [title=W3School]
    {
    border:5px solid blue;
    }
    • 为包含指定值的 title 属性的所有元素设置样式。

    [title~=hello] { color:red; }
    • 多个属性值匹配

    a[href] {color:red;}
    • 属性选择器在为不带有 class 或 id 的表单设置样式时特别有用:

    input[type="text"]
    {
      150px;
      display:block;
      margin-bottom:10px;
      background-color:yellow;
      font-family: Verdana, Arial;
    }
    
    input[type="button"]
    {
      120px;
      margin-left:35px;
      display:block;
      font-family: Verdana, Arial;
    }

    如何插入样式表

    • 外部样式表

    当样式需要应用于很多页面时,外部样式表将是理想的选择。

    <head>
    <link rel="stylesheet" type="text/css" href="mystyle.css" />
    </head>
    • 内部样式表

    当单个文档需要特殊的样式时,就应该使用内部样式表。

    <head>
    <style type="text/css">
      hr {color: sienna;}
      p {margin-left: 20px;}
      body {background-image: url("images/back40.gif");}
    </style>
    </head>
    • 内联样式

    由于要将表现和内容混杂在一起,内联样式会损失掉样式表的许多优势。请慎用这种方法,例如当样式仅需要在一个元素上应用一次时。

    <p style="color: sienna; margin-left: 20px">
    This is a paragraph
    </p>
    • 多重样式

    如果某些属性在不同的样式表中被同样的选择器定义,那么属性值将从更具体的样式表中被继承过来。


    元素选择器

    html {color:black;}
    p {color:gray;}
    h2 {color:silver;}

    子元素选择器

    与后代选择器相比,子元素选择器(Child selectors)只能选择作为某元素子元素的元素。

    h1 > strong {color:red;}
    <h1>This is <strong>very</strong> <strong>very</strong> important.</h1>  <!--生效-->
    <h1>This is <em>really <strong>very</strong></em> important.</h1>

    结合后代选择器和子选择器

    table.company td > p

    相邻兄弟选择器

    相邻兄弟选择器(Adjacent sibling selector)可选择紧接在另一元素后的元素,且二者有相同父元素

    h1 + p {margin-top:50px;}

    伪类

    • 超链接不同状态设置不同的样式

    a:link {color: #FF0000}		/* 未访问的链接 */
    a:visited {color: #00FF00}	/* 已访问的链接 */
    a:hover {color: #FF00FF}	/* 鼠标移动到链接上 */
    a:active {color: #0000FF}	/* 选定的链接 */
    • 伪类可以与 CSS 类配合使用:

    a.red : visited {color: #FF0000}
    
    <a class="red" href="css_syntax.asp">CSS Syntax</a>
    • first-child 伪类

    p:first-child {font-weight: bold;}/* 作为某元素第一个子元素的所有 p 元素设置为粗体*/
    <html>
    <head>
    <style type="text/css">
    p > i:first-child {/*选择器匹配所有 <p> 元素中的第一个 <i> 元素*/
      font-weight:bold;
      } 
    </style>
    </head>
    
    <body>
    <p>some <i>text</i>. some <i>text</i>.</p>
    <p>some <i>text</i>. some <i>text</i>.</p>
    </body>
    </html>
    <html>
    <head>
    <style type="text/css">
    p:first-child i {/*作为元素的第一个子元素的 <p> 元素中的所有 <i> 元素*/
      color:blue;
      } 
    </style>
    </head>
    
    <body>
    <p>some <i>text</i>. some <i>text</i>.</p>
    <p>some <i>text</i>. some <i>text</i>.</p>
    </body>
    </html>

    伪元素

    • "first-line" 伪元素用于向文本的首行设置特殊样式。

    p:first-line
      {
      color:#ff0000;
      font-variant:small-caps;
      }
    • "first-letter" 伪元素用于向文本的首字母设置特殊样式:

    p:first-letter
      {
      color:#ff0000;
      font-size:xx-large;
      }

    伪元素可以与 CSS 类配合使用

    • ":before" 伪元素可以在元素的内容前面插入新内容。

    h1:before
      {
      content:url(logo.gif);
      }
    • ":after" 伪元素可以在元素的内容之后插入新内容。

    h1:after
      {
      content:url(logo.gif);
      }

    ------end-----

     

  • 相关阅读:
    13.ng-value
    Android 下使用 JSON 实现 HTTP 请求,外加几个示例!
    PHP完整的AES加解密算法使用及例子(256位)
    常用对称加密算法(DES/AES)类(PHP)
    随机字符串生成算法
    JAVA实现AES加密
    Base64的好处
    什么是VC、PE、LP、GP?
    mysql update操作
    iOS开发:用DES对字符串加解密
  • 原文地址:https://www.cnblogs.com/biwangwang/p/14262977.html
Copyright © 2020-2023  润新知