美文网首页
css学习 第四天

css学习 第四天

作者: 罗_c857 | 来源:发表于2019-10-30 10:40 被阅读0次

    CSS 组合选择符

    CSS组合选择符包括各种简单选择符的组合方式。

    在 CSS3 中包含了四种组合方式:

    后代选择器(以空格分隔)

    子元素选择器(以大于号分隔)

    相邻兄弟选择器(以加号分隔)

    普通兄弟选择器(以破折号分隔)

    后代选择器

    后代选择器用于选取某元素的后代元素。

    以下实例选取所有 <p> 元素插入到 <div> 元素中: 

    div p

    { background-color:yellow;

    }

    子元素选择器

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

    以下实例选择了<div>元素中所有直接子元素 <p> :

    div>p

    { background-color:yellow;

    }

    相邻兄弟选择器

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

    如果需要选择紧接在另一个元素后的元素,而且二者有相同的父元素,可以使用相邻兄弟选择器(Adjacent sibling selector)。

    以下实例选取了所有位于 <div> 元素后的第一个 <p> 元素:

    div+p

    { background-color:yellow;

    }

    后续兄弟选择器

    后续兄弟选择器选取所有指定元素之后的相邻兄弟元素。

    以下实例选取了所有 <div> 元素之后的所有相邻兄弟元素 <p> : 

    div~p

    { background-color:yellow;

    }

    CSS 伪类(Pseudo-classes)

    伪类的语法:

    selector:pseudo-class {property:value;}

    CSS类也可以使用伪类:

    selector.class:pseudo-class {property:value;}

    anchor伪类

    在支持 CSS 的浏览器中,链接的不同状态都可以以不同的方式显示

    a:link {color:#FF0000;} /* 未访问的链接 */

    a:visited {color:#00FF00;} /* 已访问的链接 */

    a:hover {color:#FF00FF;} /* 鼠标划过链接 */

    a:active {color:#0000FF;} /* 已选中的链接 */

    注意: 在CSS定义中,a:hover 必须被置于 a:link 和 a:visited 之后,才是有效的。

    注意: 在 CSS 定义中,a:active 必须被置于 a:hover 之后,才是有效的。

    注意:伪类的名称不区分大小写。

    伪类和CSS类

    伪类可以与 CSS 类配合使用:

    a.red:visited {color:#FF0000;}

    <a class="red" href="css-syntax.html">CSS 语法</a>

    CSS :first-child 伪类

    您可以使用 :first-child 伪类来选择父元素的第一个子元素。

    注意:在IE8的之前版本必须声明<!DOCTYPE> ,这样 :first-child 才能生效。

    匹配第一个 <p> 元素

    在下面的例子中,选择器匹配作为任何元素的第一个子元素的 <p> 元素:

    p:first-child

    { color:blue;

    }

    匹配所有<p> 元素中的第一个 <i> 元素

    在下面的例子中,选择相匹配的所有<p>元素的第一个 <i> 元素:

    p > i:first-child

    { color:blue;

    }

    CSS - :lang 伪类

    :lang 伪类使你有能力为不同的语言定义特殊的规则

    注意:IE8必须声明<!DOCTYPE>才能支持;lang伪类。

    在下面的例子中,:lang 类为属性值为 no 的q元素定义引号的类型:

    q:lang(no) {quotes: "~" "~";}

    CSS 伪元素

    伪元素的语法:

    selector:pseudo-element {property:value;}

    CSS类也可以使用伪元素:

    selector.class:pseudo-element {property:value;}

    :first-line 伪元素

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

    在下面的例子中,浏览器会根据 "first-line" 伪元素中的样式对 p 元素的第一行文本进行格式化:

    p:first-line { color:#ff0000;

        font-variant:small-caps;}

    注意:"first-line" 伪元素只能用于块级元素。

    注意: 下面的属性可应用于 "first-line" 伪元素:

    font properties

    color properties 

    background properties

    word-spacing

    letter-spacing

    text-decoration

    vertical-align

    text-transform

    line-height

    clear

    :first-letter 伪元素

    "first-letter" 伪元素用于向文本的首字母设置特殊样式:

    p:first-letter { color:#ff0000;

        font-size:xx-large;}

    注意: "first-letter" 伪元素只能用于块级元素。

    注意: 下面的属性可应用于 "first-letter" 伪元素:

    font properties

    color properties 

    background properties

    margin properties

    padding properties

    border properties

    text-decoration

    vertical-align (only if "float" is "none")

    text-transform

    line-height

    float

    clear

    伪元素和CSS类

    伪元素可以结合CSS类: 

    p.article:first-letter 

    {color:#ff0000;}<p class="article">文章段落</p>

    多个伪元素

    可以结合多个伪元素来使用。

    在下面的例子中,段落的第一个字母将显示为红色,其字体大小为 xx-large。第一行中的其余文本将为蓝色,并以小型大写字母显示。

    段落中的其余文本将以默认字体大小和颜色来显示:

    p:first-letter{ color:#ff0000;

        font-size:xx-large;}

    p:first-line {    color:#0000ff;

        font-variant:small-caps;}

    CSS - :before 伪元素

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

    下面的例子在每个 <h1>元素前面插入一幅图片:

    h1:before 

    { content:url(smiley.gif);

    }

    CSS - :after 伪元素

    ":after" 伪元素可以在元素的内容之后插入新内容。

    下面的例子在每个 <h1> 元素后面插入一幅图片:

    h1:after

    { content:url(smiley.gif);

    }

    CSS 导航栏

    ul { list-style-type: none;

        margin: 0;

        padding: 0;}

    list-style-type:none - 移除列表前小标志。一个导航栏并不需要列表标记

    移除浏览器的默认设置将边距和填充设置为0

    垂直导航栏

    <ul> 

     <li><a href="#home">主页</a></li> 

     <li><a href="#news">新闻</a></li> 

     <li><a href="#contact">联系</a></li> 

     <li><a href="#about">关于</a></li>

    </ul>

    上面的代码,我们只需要 <a>元素的样式,建立一个垂直的导航栏:

    a{ display:block;

        width:60px;}

    display:block - 显示块元素的链接,让整体变为可点击链接区域(不只是文本),它允许我们指定宽度

    width:60px - 块元素默认情况下是最大宽度。我们要指定一个60像素的宽度

    水平导航栏

    有两种方法创建横向导航栏。使用内联(inline)浮动(float)的列表项。

    这两种方法都很好,但如果你想链接到具有相同的大小,你必须使用浮动的方法。

    内联列表项

    建立一个横向导航栏的方法之一是指定元素, 上述代码是标准的内联:

    li{ 

     display:inline;

    }

    display:inline; -默认情况下,<li>元素是块元素。在这里,我们删除换行符之前和之后每个列表项,以显示一行。

    浮动列表项

    在上面的例子中链接有不同的宽度。

    对于所有的链接宽度相等,浮动 <li>元素,并指定为 <a>元素的宽度:

    li{ float:left;}

    a{ display:block;

        width:60px;}

    float:left - 使用浮动块元素的幻灯片彼此相邻

    display:block - 显示块元素的链接,让整体变为可点击链接区域(不只是文本),它允许我们指定宽度

    width:60px - 块元素默认情况下是最大宽度。我们要指定一个60像素的宽度

    相关文章

      网友评论

          本文标题:css学习 第四天

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