zoukankan      html  css  js  c++  java
  • css小案例:导航栏特效

    css小案例:导航栏特效,实现如下图所示效果;

     

     

     

    首先可以将html代码写出:

    1 <nav class="cl-effect-1">
    2     <a href="#">Umbrella</a>
    3     <a href="#">Ineffable</a>
    4     <a href="#">Lilt</a>
    5     <a href="#">Mellifluous</a>
    6     <a href="#">Serendipity</a>
    7 </nav>

    css部分:

     1 nav{
     2         text-align: center;
     3 }
     4 nav a {
     5         position: relative;
     6         display: inline-block;
     7         margin: 15px 25px;
     8         outline: none;
     9         color: #fff;
    10         text-decoration: none;
    11         text-transform: uppercase;
    12         letter-spacing: 1px;
    13         font-weight: 400;
    14         text-shadow: 0 0 1px rgba(255,255,255,0.3);
    15         font-size: 1.35em;
    16 }
    17             
    18 nav a:hover,
    19 nav a:focus {
    20         outline: none;
    21 }
    22 .cl-effect-1 a {
    23         margin: 0 10px;
    24             padding: 10px 20px;
    25 }
    26             
    27 .cl-effect-1 a::before {
    28         position: absolute;
    29         top: 0;
    30         left: 0;
    31          100%;
    32         height: 2px;
    33         background: #fff;
    34         content: '';
    35         -webkit-transition: top 0.3s;
    36         -moz-transition: top 0.3s;
    37         transition: top 0.3s;
    38 }
    39             
    40 .cl-effect-1 a::after {
    41         position: absolute;
    42         top: 0;
    43         left: 0;
    44          2px;
    45         height: 2px;
    46         background: #fff;
    47         content: '';
    48         -webkit-transition: height 0.3s;
    49         -moz-transition: height 0.3s;
    50         transition: height 0.3s;
    51 }
    52             
    53 .cl-effect-1 a:hover::before {
    54         top: 100%;
    55         opacity: 1;
    56 }
    57             
    58 .cl-effect-1 a:hover::after {
    59         height: 100%;
    60 }                       

    代码很简单,下面就其中的要素重点来解析。

    一、可以看出我们所写的html部分文字内容为小写,而显示效果为全大写,这里有一个css属性:text-transform   定义文本的大小写状态,此属性对中文无意义。

        取值:capitalize | uppercase | lowercase | none | inherit

    none

    默认。定义带有小写字母和大写字母的标准的文本。

    capitalize

    文本中的每个单词以大写字母开头。

    uppercase

    定义仅有大写字母。

    lowercase

    定义无大写字母,仅有小写字母。

    inherit

    规定应该从父元素继承 text-transform 属性的值。

    所以这里通过css部分写入text-transform: uppercase;来实现。

    二、伪元素

      1、 基本语法

      在了解进阶的应用之前,先来了解一下语法规则。平常仅仅需要将这两个伪元素用于添加一些自定义字符时,只需使用伪类使用的单冒号写法,以保证浏览器的兼容性:

    Html代码 

    1 p:before  {}  

      不过,在 CSS3 中为了区别伪元素和伪类为伪元素使用了双冒号,因此如果使用了 display 或者 width 等属性时使得显示脱离了原本元素后,建议按照标准双写。过于老的浏览器可能会存在支持问题,不过伪元素大多是配合 CSS3 使用,就无所谓向下兼容了:

    Html代码 

    1 img::after {}  

      这两个伪类下特有的属性 content ,用于在 CSS 渲染中向元素逻辑上的头部或尾部添加内容。注意这些添加不会改变文档内容,不会出现在 DOM 中,不可复制,仅仅是在 CSS 渲染层加入。比较有用的是以下几个值:

    · [String] - 使用引号包括一段字符串,将会向元素内容中添加字符串。示例:

    Html代码 

    1 a:after { content: "↗"; }  

    · attr() 调用当前元素的属性,可以方便的比如将图片的 Alt 提示文字或者链接的 Href 地址显示出来。示例:

    Html代码 

    1 a:after { content:"(" attr(href) ")"; } 

    · url() / uri() 用于引用媒体文件。示例:

    Html代码 

    1 h1::before { content: url(logo.png); }  

    · counter() –  调用计数器,可以不使用列表元素实现序号功能。具体请参见 counter-increment counter-reset 属性的用法。示例:

    Html代码 

    1 h2:before { counter-increment: chapter; content: "Chapter " counter(chapter) ". " }

      2、进阶技巧

      清除浮动是一个时常会遇到的问题,不少人的解决办法是添加一个空的 div 应用 clear:both; 属性。现在,无需增加没有意义的元素,仅需要以下样式即可在元素尾部自动清除浮动:

    Html代码

    1 .clear-fix { *overflow: hidden; *zoom: 1; }  
    2 
    3 .clear-fix:after { display: table; content: "";  0; clear: both; }  

      许多人喜欢给 blockquote 引用段添加巨大的引号作为背景,这种时候我们就可以用 :before 来代替 background 了,即可以给背景留下空间,还可以直接使用文字而非图片:

    Html代码 

     1  blockquote::before {  
     2 
     3  content: open-quote;  
     4 
     5  position: absolute;  
     6 
     7  z-index: -1;  
     8 
     9  color: #DDD;  
    10 
    11  font-size: 120px;  
    12 
    13  font-family: serif;  
    14 
    15  font-weight: bolder;  
    16 
    17  }  

     

      用 :before :after 伪类结合更多 CSS3 强大的特性,还可以完成非常多有意思的特效和 Hack

     

    取值:capitalize | uppercase | lowercase | none | inherit

  • 相关阅读:
    mysql BETWEEN操作符 语法
    mysql IN操作符 语法
    mysql LIKE通配符 语法
    mysql TOP语句 语法
    mysql DELETE语句 语法
    mysql Update语句 语法
    mysql INSERT语句 语法
    mysql ORDER BY语句 语法
    mysql OR运算符 语法
    mysql AND运算符 语法
  • 原文地址:https://www.cnblogs.com/indigojh/p/5524564.html
Copyright © 2011-2022 走看看