美文网首页
关于CSS 一

关于CSS 一

作者: dreamscd | 来源:发表于2017-08-18 14:14 被阅读0次

    什么是CSS

    CSS是对网页进行 样式和布局 设置的工具

    要设置一个元素的样式,第一步是要选中一个元素,那么怎么选中元素呢?

    选择器

    我们是不是可以使用标签来选择呢?

    • 标签选择器

    格式:标签

    p{
      样式属性: value
    }
    /**/
    <p>我是标题1</p>
    <p>我是标题2</p>
    <p>我是标题3</p>
    

    问题是标签选择器只能选择一类的标签,上例中的三个p标签都会被选中


    好么我们又考虑在HTML中大多数的元素都有一id,class,title属性,所有我们可以给元素设置id,class,title来进行选择

    • id选择器、类选择器、属性选择器

    1. id选择器

    id值是整个网页中唯一
    格式: #id值

    #i666{
      样式属性: value
    }
    /**/
    <h1 id="i666">我是标题</h1>
    
    2. 类选择器

    多个元素可以共用一个class
    格式:.classname

    .biaoti{
      样式属性: value
    }
    /**/
    <h1 class="biaoti">我是标题</h1>
    
    3. 属性选择器

    格式:[]

    h1[title]{
      样式属性: value
    }
    /**/
    <h1 class="biaoti" title="这是这个网页的主标题abc">我是标题</h1>
    

    以上面代码为例:
    通常与标签配合作用,如上,选择有title属性的h1标签

    选择器 描述
    [title] 带有title属性的元素
    [title="这是这个网页的主标题abc"] title="这是这个网页的主标题abc"的元素
    [title^="这"] 选择title值中以"这"开头的元素
    [title$="abc"] 选择title值中以"abc"结尾的元素
    [title*="b"] 选择title值中包含"b"的元素

    但是如果给每一个元素都加上id,class,title属性是一个非常麻烦的事。
    html是一个一层套一层的结构,那么我们是不是可以使用他们的父子、兄弟关系来选择呢?

    • 关系选择器

    1. 后代选择器

    找所有的后代,无论是第几代
    格式:以空格割开
    祖先选择器 子孙选择器

    .abc p{
      样式属性: value
    }
    /**/
    <div class="abc">
      <p id="i666">我是段落1</p>
      <div>
        <p class="c123">我是段落2</p>
      </div>
    </div>
    

    ** 选择div中的两个p标签

    2. 子类选择器

    格式:以>割开
    父选择器>子选择器

    .abc>p{
      样式属性: value
    }
    /**/
    <div class="abc">
      <p id="i666">我是段落1</p>
      <div>
        <p class="c123">我是段落2</p>
      </div>
    </div>
    

    ** 只选择”我是段落1“的p标签

    3. 兄弟选择器

    格式:以+割开
    选择选择器1+选择选择器2
    同级选择,仅选择选择器1相邻的选择选择器2

    <div>
      <ul>
        <li>List item 1</li>
        <li>List item 2</li>
        <li>List item 3</li>
      </ul>
      <p>我是段落1</p>
      <ol>
        <li>List item 1</li>
        <li>List item 2</li>
        <li>List item 3</li>
      </ol>
      <p>我是段落2</p>
    </div>
    

    例如:

    ul+p 只能选择”我是段落1“
    -----因为第一个p中间割了一个ol
    li+li 可以选择ol和ul中的第2、3个li
    -----因为+只能选择后面的兄弟元素


    • 同时满足两个条件
    • 只要满足两个条件中的一个
      这也是一种关系
    4. 交集选择器

    格式:没有分割符

    例如:p.c123 选择p标签 同时 p标签的class为c123的标签

    5. 并集选择器

    格式:以,割开

    例如:#i666,.c123 选择id为i666以及类为c123的两个标签


    再来想一想,如果不想设置id,class又想选择一个按特定的标签,怎么办呢?

    • 序选择器

    1. 什么是序选择器?
      就是通过顺序来进行定位的。
    <div>
      <ul>
        <li>List item 1</li>
        <li>List item 2</li>
        <li>List item 3</li>
      </ul>
      <p>我是段落1</p>
      <ol>
        <li>List item 1</li>
        <li>List item 2</li>
        <li>List item 3</li>
      </ol>
      <p>我是段落2</p>
    </div>
    

    如上面的代码,我只想选择ol中的第二个li,我们可以使用:
    div>ol li:nth-child(2)
    :div中的---ol中的---第二个li元素

    详细:W3C中文

    相关文章

      网友评论

          本文标题:关于CSS 一

          本文链接:https://www.haomeiwen.com/subject/jzxarxtx.html