zoukankan      html  css  js  c++  java
  • CSS

    1. 概念:

    1.1 为了使各种特殊形状的背景能够自适应元素中文本内容的多少,出现了CSS滑动门技术。
    1.2 使各种特殊形状的背景能够自由拉伸滑动,以适应元素内部的文本内容,可用性更强。
    1.3 最常见于各种导航栏的滑动门。

    2. 原理:

    2.1 利用CSS精灵Sprite(主要是背景位置position)和盒子padding撑开宽度, 以便能适应不同字数的导航栏。
    2.2 原背景图--> 切开左边 --> 剩下的右边随着文字的增多从左往右滑动(这也是文字增长的方向)

    3. 具体做法:

    经典布局:

    <li>
      <a href="#">
        <span>导航栏内容</span>
      </a>
    </li>
    

    3.1 a 设置背景左侧,padding撑开合适宽度。
    3.2 span设置背景右侧, padding撑开合适宽度,剩下由文字继续撑开宽度。(文字增加的方向是从左到右)
    3.3 之所以a包含span就是因为 整个导航都是可以点击的。

    4. 例子1,自己实现微信官网导航栏效果

    to.png

    ao.png

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
            body {
                background: url(images/wx.jpg) repeat-x;
            }
    
            .nav li {
                float: left;
                list-style: none;
            }
    
            .nav a {
                /*1. a 左边放 左圆角   但是文字需要往右走 15px*/
                height: 33px;
                line-height: 33px;
                color: #fff;
                text-decoration: none;
                background: url(images/to.png) no-repeat left;
                display: inline-block;
                padding-left: 15px;
            }
    
            .nav span {
                /* 2. span 右边放右圆角 但是文字需要往左走 15px,*/
                background: url(images/to.png) no-repeat right;
                display: inline-block;
                height: 33px;
                padding-right: 15px;
    
            }
    
            /*       凹下去, 第一个为左边,第二个为右边*/
    
            .nav a:hover,
            .nav a:hover span {
                background-image: url(images/ao.png);
            }
        </style>
    </head>
    
    <body>
        <ul class="nav">
            <li>
                <a href="#">
                    <span>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</span>
    		      </a>
            </li>
            <li>
                <a href="#">
    		      		<span>第二个页面</span>
    		      </a>
            </li>
            <li>
                <a href="#">
    		      		<span>第三个页面</span>
    		      </a>
            </li>
    
        </ul>
    </body>
    </html>
    

    微信导航栏有特殊形状的背景:有凸起和凹下去的感觉。
    微信导航栏使用滑动门技术自适应文字,使很长的文字都能有相同的背景(其实是有限制的,取决于背景图片的右侧长度)

  • 相关阅读:
    20145213《Java程序设计》第二周学习总结
    20145213《Java程序设计》第一周学习总结
    对于老师问卷调查中若干问题的回答
    问卷调查
    关于矩阵的分解的专题讨论
    关于合同变换的专题讨论
    关于初等变换的专题讨论
    关于矩阵的迹的专题讨论
    关于矩阵的秩的专题讨论
    关于含参变量反常积分一致收敛的专题讨论
  • 原文地址:https://www.cnblogs.com/allen2333/p/9027482.html
Copyright © 2011-2022 走看看