标签: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>
* { -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; }
这里用的是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>长方形里的继续这样分配位置
标签:sed 帐号 源码 eal 元素 back order webkit display
原文地址:http://www.cnblogs.com/cdyboke/p/6918156.html