我有一点下拉菜单,效果很好:
但是,当下拉列表中添加更多文本时,div会向右扩展,如下所示:
而我宁愿向左扩展。
标记/刀片(我正在使用Laravel):
<div class="status-dropdown-arrow pointer" id="status-dropdown-arrow-{{ $status->id }}" data-value="{{ $status->id }}"><i class="fa fa-angle-down" aria-hidden="true"></i>
<ul class="fallback">
@if (Auth::user()->isFollowing($status->user))
<a href="{{ route('get.following.add', ['username' => $status->user->username]) }}"><li>Unfollow</li></a>
@else
<a href="{{ route('get.following.add', ['username' => $status->user->username]) }}"><li>Follow</li></a>
@endif
<a href="{{ route('status.report', ['statusId' => $status->id]) }}"><li>Report</li></a>
</ul>
</div>
CSS:
.status-dropdown-arrow {
float:right;
margin-top: -58px;
color:#b9adad;
}
.status-dropdown-arrow ul.fallback {
position: absolute;
border: 1px solid #d8d8d8;
border-radius: 3px;
padding: 5px;
display: none;
z-index: 1000;
background-color: #f6f4f4;
list-style: none;
margin-top: 0px;
margin-left: -72px;
}
我怎样才能让容器向左扩展而不是向右扩展?
答案 0 :(得分:0)
尝试为后备类设置一个浮动 ,它可能是正确的浮动的父属性
答案 1 :(得分:0)
在rigth: 0
上设置.status-dropdown-arrow ul.fallback
,在position: relative
上设置.status-dropdown-arrow
就可以了。
答案 2 :(得分:0)
position: relative
和绝对定位的子项上的right: 0
会将其与父项的右侧对齐,元素将增长到左侧。
您的ul
/ li
结构也无效。 a
不能成为ul
的孩子 - 您应该移动a
内的li
.status-dropdown-arrow {
float: right;
color: #b9adad;
position: relative;
}
.status-dropdown-arrow ul.fallback {
position: absolute;
border: 1px solid #d8d8d8;
border-radius: 3px;
padding: 5px;
z-index: 1000;
background-color: #f6f4f4;
list-style: none;
margin-top: 0px;
right: 0;
}
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
<div class="status-dropdown-arrow pointer">
<i class="fa fa-angle-down" aria-hidden="true"></i>
<ul class="fallback">
<li><a href="">Unfollow</a></li>
<li><a href="">Follow</a></li>
<li><a href="">Report</a></li>
</ul>
</div>