为了账号安全,请及时绑定邮箱和手机立即绑定

谁帮我解释下下面的代码

.dropdown-menu{    left:100%;    top:0; } 这段代码的效果我看到了,但是谁能解释下这么设置的原理呢,特别是这个Left,和父元素有什么关系吗

正在回答

2 回答

.dropdown-menu {

  position: absolute;

  top: 100%;

  left: 0;

  z-index: 1000;

  display: none;

  float: left;

...    省略其他

这是源代码 可以看出使用了相对定位 这样已经脱离了正常文档流,接着的top:100%以及left:0是用来定位的

.btn-group,

.btn-group-vertical {

  position: relative;

  display: inline-block;

  vertical-align: middle;

}

这是父元素的样式 可以看出有个绝对定位,接着top:100%指的就是父元素的高度,然后结果就是你点击后这个菜单就显示在这个父元素的下面(因为父元素还有个box-sizing:border-box,所以可以无视padding跟margin所带来的负效果)left:0就是左对齐了。

最后 虽然跟你说的样式不同 不过都是大同小异

0 回复 有任何疑惑可以回复我~
#1

wangao4321 提问者

谢谢啊,我理解了,主要就是根据父元素定位了,理解了。
2016-08-12 回复 有任何疑惑可以回复我~
#2

Hallz 回复 wangao4321 提问者

0.0上面说错了个 absolute是绝对定位 relative才是相对定位 手一抖就打混了....
2016-08-13 回复 有任何疑惑可以回复我~

在bootstrap.min.css的2876行,定义了.dropdown-menu的父类.dropdown{

position:relative;}(我查的)。因为父元素有position属性,所以.dropdown-menu的position:absolute相对于父元素定位。top:100%的意思是在下拉菜单底部展开,left:0指

与父元素左端对齐。你的代码好像写错了。。。。

0 回复 有任何疑惑可以回复我~
#1

wangao4321 提问者

我没有写错,因为这一章节是垂直排序,导致按钮点下也垂直排序了,但是按照人的习惯用法,点击菜单后,弹出的界面应该在左边,参考京东淘宝等等,所以我就设置了left:100% 和TOP 0,但是不懂原理。
2016-08-12 回复 有任何疑惑可以回复我~
#2

wangao4321 提问者

说错了,是在弹出菜单的右边
2016-08-12 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

谁帮我解释下下面的代码

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信