css定位,滑动门

三、滑动门

概述:

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

实例预览

微信,是一个生活方式

实现要点

滑动门核心技术就是利用CSS精灵(主要是背景位置)和盒子padding撑开宽度, 以便能适应不同字数的导航栏。

滑动门实现:
        a  span
            a用来撑开左边的小括号
            span用来撑开右边的小括号
            给a设置padding-left: 让文字距离左边有点距离,美观
            给span设置padding-right 让文字距离右边有点距离,美观
​
            实际文字写在span里面,span的宽度由文字和内边距撑开
            a的宽度是由span撑开了
​
<!DOCTYPE html>
<html lang="en">
​
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    * {
      margin: 0;
      padding: 0;
      list-style: none;
    }
​
    a {
      text-decoration: none;
      color: #fff;
    }
​
    .wrap {
      height: 74px;
      background: url(../img/css滑动.jpg) repeat-x;
    }
​
    .wrap ul {
      height: 74px;
      line-height: 74px;
​
      padding-left: 200px;
      box-sizing: border-box;
    }
​
    .wrap ul li {
      float: left;
      margin-right: 20px;
    }
​
    /* a用来撑开左边的小括号 */
    .wrap ul li a {
      height: 33px;
      line-height: 33px;
      display: inline-block;
​
      background: url(../img/hua.png) no-repeat 0% 0%;
​
      padding-left: 15px;
    }
​
    /* span用来撑开右边的小括号 */
​
    .wrap ul li span {
      height: 33px;
      line-height: 33px;
      display: inline-block;
​
      background: url(../img/hua.png) no-repeat 100% 100%;
      padding-right: 15px;
    }
​
    .wrap ul li:hover a {
      /* background: url(../img/hua.png) no-repeat 0% 0%; */
    }
​
    .wrap ul li:hover span {
      /* background: url(../img/hua.png) no-repeat 100% 100%; */
    }
  </style>
</head>
​
<body>
  <div class="wrap">
    <ul>
      <!-- 实际文字写在span里面,
            span的宽度由文字和内边距撑开
            a的宽度是由span撑开了 -->
      <li>
        <!-- a用来撑开左边的小括号 -->
        <a href="#">
          <!--    span用来撑开右边的小括号 -->
          <span>首页</span>
        </a>
​
      </li>
​
      <li>
        <a href="#"><span>帮助与反馈</span></a>
      </li>
      <li>
        <a href="#"><span>公众与平台</span></a>
      </li>
      <li>
        <a href="#"><span>开发平台</span></a>
      </li>
      <li>
        <a href="#"><span>微信支付</span></a>
      </li>
    </ul>
  </div>
​
</body>
​
</html>

一、CSS 定位

定位的作用

普通文档流中块元素垂直排列,行内元素水平排列。 定位能够让我们把一个元素从它原本在正常布局流中应该在的位置移动到另一个位置(自由的在某个盒子内移动位置或者固定在屏幕中的某个位置)

定位的实现

使用定位需要指定一个元素在文档中的定位模式,配合设置【边偏移量】决定元素最终的显示及位置

定位模式通过position属性来设置,以下为常用四种定位模式静态定位,相对定位,绝对定位,固定定位

边偏移定位元素的位置,使用“top”、“right”、“bottom”和“left”来描述。通常水平位置通过left或right控制,垂直位置通过ttop或bottom控制

  • 位置属性

    left:设置元素距离参照元素的左侧位移,正值往右,负值往左 right:设置元素距离参照元素的右侧位移,正值往左,负值往右 top:设置元素距离参照元素的顶部的位移,正值往下,负值往上 bottom:设置元素距离参照元素的底部位移,正值往上,负值往下

        top: 50px;
        /* 元素距离参照元素的顶部的位移,正值往下,负值往上 */
        left: 100px;
        /* 元素距离参照元素的左侧位移,正值往右,负值往左 */
        /* bottom: 50px; */
        /* 元素距离参照元素的底部位移,正值往上,负值往下 */
        /* right: 50px; */
        /* 元素距离参照元素的右侧位移,正值往左,负值往右 */
  • 取值

    • 长度值:px

    • 百分比:是以父元素为参考

    • 允许使用负值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值