html - 视口(viewport)外的相关元素

标签 html css

为什么我的下拉面板超出视口(viewport) http://i.stack.imgur.com/Uth7H.png

以及如何解决这个问题,使其不会离开视口(viewport)并在可能时相对于按钮居中

http://i.stack.imgur.com/HHOo9.png

如果可能只使用 CSS

这是 HTML

<div class="dropdown-container">
        <button class="button-std dropdown">
            <span class="glyphicon-home"></span>
            <span> Dropdown Button</span>
        </button>
        <div class="dropdown-positionner">
            <div class="dropdown-std">
                <a href="#">Link 1</a>
                <a href="#">Link 2</a>
                <a href="#">Another Link</a>
            </div>
        </div>
    </div>

这是CSS

    .dropdown-container {
    position: relative;
    display: inline-block;
    white-space: nowrap;
}
.dropdown-positionner {
    position: absolute;
    left: 50%;
}
.dropdown-std {
    position: relative;
    display: none;
    left: -50%;
}
.dropdown-container:hover .dropdown-std {
    display: block;
}

最佳答案

试试这个(你有负的左边位置)

CSS

.dropdown-container {
    position: relative;
    display: inline-block;
    white-space: nowrap;
}
.dropdown-positionner {
    position: absolute;
    left: 50%;
}
.dropdown-std {
    position: relative;
    display: none;
    left: -50%;
}
.dropdown-container:hover .dropdown-std {
    display: block;
}

.dropdown-positionner-edge {
    left: 0;
}

.dropdown-positionner-edge .dropdown-std {
    left: 0;
}

HTML

<div class="dropdown-container">
  <button class="button-std dropdown">
    <span class="glyphicon-home"></span>
    <span> Dropdown Button</span>
  </button>
  <div class="dropdown-positionner dropdown-positionner-edge">
    <div class="dropdown-std">
      <a href="#">Link 1</a>
      <a href="#">Link 2</a>
      <a href="#">Another Link</a>
    </div>
  </div>
</div>



<div class="dropdown-container">
  <button class="button-std dropdown">
    <span class="glyphicon-home"></span>
    <span> Dropdown Button</span>
  </button>
  <div class="dropdown-positionner">
    <div class="dropdown-std">
      <a href="#">Link 1</a>
      <a href="#">Link 2</a>
      <a href="#">Another Link</a>
    </div>
  </div>
</div>

DEMO HERE

关于html - 视口(viewport)外的相关元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35746485/

相关文章:

html - 输入文本框旁边不显示日期选择器图标

html5 : how to avoid two divs partially overlapp?

html - 如何在文本旁边放置自定义图像而不是复选框?

html - 填充和边距导致我的 div 太宽

jquery - 另一个站点上的工具提示

javascript - 在其他单元格之间共享一个表格单元格 HTML5

html - 动态标题中的 CSS 剪辑文本

html - 移动响应不适用于所有移动设备

javascript - 如何将计数器输出显示为文本而不是输入

html - 如何仅使用 HTML 和 CSS 在移动网站上的 DIV 中通过一组图像以加速/减速的方式水平滑动/滚动