码迷,mamicode.com
首页 > Web开发 > 详细

css定位

时间:2017-05-29 16:32:31      阅读:249      评论:0      收藏:0      [点我收藏+]

标签:sed   帐号   源码   eal   元素   back   order   webkit   display   

 一个下拉菜单源码

技术分享
                <div class="dropdown-menu" id="dropdown-menu">
                    <a class="button-green" style="margin-top:18px;">查找好友</a>
                    <a class="button-green">查找群组</a>
                    <a class="button-green">创建群组</a>
                    <a id="logout" class="button-red">退出帐号</a>
                </div>
html
技术分享
* {
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
          position: relative;
          z-index: inherit;
}
*:before,
*:after {
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
          position: relative;
          z-index: inherit;
}
.dropdown-menu {
    display: block;
    background:#e6e6e6;
    box-shadow:0 0 16px 0 rgba(0,0,0,0.18), 0 16px 16px 0 rgba(0,0,0,0.24);
    border-radius:8px;
    width:160px;
    height:198px;
    position: absolute;
    padding-left:16px;
    z-index: 9999;
    margin-top:0;
    left: auto;
    right: 0;
    top: 0;
    float:right;
}
.button-green {
    background:#19bb9b;
    /*background-image: url(‘/image/button-green.png‘);*/
}
.button-red {
    background:#d43044;
    /*background-image: url(‘/image/button-red.png‘);*/
}
.button-green,
.button-red {
    display: block;
    position: relative;
    z-index: inherit;
    border-radius:9px;
    background-position: center;
    width:83.125%;
    height:35px;
    margin-top: 8px;
    /*padding: 7px 37px 11px 38px;*/
    padding: 7px;
    background-repeat: repeat-x;
    /*font*/
    font-size:14px;
    color:#ffffff;
    text-align: center;
}
css

这里用的是box-sizing: border-box;

    大长方形用的是绝对定位position: absolute;,所以不会和挤掉其它控件,然后内部用得是相对定位,前面的控件会将后面的控件挤到底下

    大长方形内部的排版是一个padding-left:16px;将所有控件右移 ,然后button那里设置margin-top: 8px;设置button间的间隔,第一个buttom要

在html里设置大一点的margin-top,<a class="button-green" style="margin-top:18px;">查找好友</a>

    然后文字居中用了text-align: center;,能使文字左右居中,再配合padding: 7px;将文字上下居中

总结:

    position:absolute;用于实现样式层叠,使用z-index来决定那个出现在更上层

    position:realative;用于实现相对排版,即前面的标签会将后面的标签往右或往下挤,方向取决于标签的display是inline还是block或其它

 position:fixed;生成绝对定位的元素,相对于浏览器窗口进行定位。元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。即滚动scroll后控件还是在原位

   position:static;默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。

 所以分配<div>时根据要不要受其它控件影响,确定要不要用relative,如果不要受其它控件影响,则再根据要不要受scroll影响确定用fixed还是absolute,然后子控件就在这个<div>长方形里的继续这样分配位置

css定位

标签:sed   帐号   源码   eal   元素   back   order   webkit   display   

原文地址:http://www.cnblogs.com/cdyboke/p/6918156.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!