html - 我的 CSS 定位不稳定。我怎样才能稳定它?

标签 html css css-position

当我希望它们留在原地时,我正在构建的网页元素会四处移动。如果以“This is a Beta version”开头的行改变长度,则 4 个菜单项(半透明灰色矩形)会移动: 如果我缩短底线,则菜单项向右移动;如果我加长它,菜单项会向左移动。

我怎样才能使一个元素的宽度不会改变与其垂直堆叠的其他元素的水平位置?

您可以在 http://apdamien.info/nfair/GH/demo/mainmenu.html 查看页面

以下是我认为是代码的相关部分: CSS:

#mainmenu {
    width: 350px;
    padding-bottom: 14px;
    margin-right: 60px;
}

#maindiv {
    background: url(imgs/smalltown.jpg) no-repeat;
}

.menu-entry {
    display: block;
    cursor: default;
    color: #fff;
    width: 100%;
    height: 39px;
    padding-top: 13px;
    font-size: 20px;
    font-weight: bold;
    font-family: Univers,sans-serif;
    text-transform: uppercase;
    margin-bottom: 19px;
    margin-left: 8em;
    border: 2px solid black;
    text-align: center;
    background: rgba(96,96,96,0.65);
    text-decoration: none;
    text-transform: uppercase;
}
.menu-entry:hover {
    background: rgba(0,0,0,0.5);
}

以及相关的 HTML block :

<body>
<div id="maindiv">
<div id="titleauth">
  <div id="title"><img alt="Demo Game" src="imgs/title.svg"/></div>
  <div id="author"><a href="http://www.apdamien.info"
        target="_blank"><img alt="A. P. Damien" src="imgs/author.svg"/></a>
  </div>
    </div>
    <div id="lowerleft">
      <div id="mainmenu">
        <a class="menu-entry" href="game.html">New Game</a>
        <a class="menu-entry" href="helpmain.html">How to Play</a>
        <a class="menu-entry" href="restore.html">Restore Saved Game</a>
        <a class="menu-entry" href="credits.html">Credits</a>
      </div>
      <div id="bottom-line">
        <img alt="Beta version warning" src="imgs/beta.svg" />
      </div>
    </div>
</div>

</body>

最佳答案

#mainmenu#bottom-line 都相对于#lowerleft 的左侧定位。如果您想让它们相对于右侧 定位,则需要将所有子项都 float 到右侧。您还需要使用 clear: both,这样 children 就不会坐在一起。

#lowerleft * {
    float: right;
    clear: both;
}

在你的网站上使用上面的内容可以让我调整 #bottom-line 的宽度而不影响 #mainmenu 的位置,所以这应该对你有用:)

请注意,这会将菜单稍微向右移动。如果你想把主菜单移回原来的位置,你可以增加它的 margin-right 值。它对以前的菜单没有影响,尽管添加 float: right 也修复了这个问题;)

关于html - 我的 CSS 定位不稳定。我怎样才能稳定它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39629475/

相关文章:

javascript - 当用户使用选择框无法正常工作时隐藏和显示 div

html - 在 css 中对齐小形状的问题

javascript - 通过使用 onclick 事件 javascript 从两个 div 获取背景颜色来创建线性渐变

javascript - YouTube影片上的HTML5浏览器播放器

javascript - 更改源 URL 时创建图像 CSS 转换

c# - 如何使用C#在word 2007文档中的特定坐标处插入图片/文本标签?

css - 绝对 div 位置 - 让它贴在右边

jQuery Mobile - 基于 WebService 调用改变背景颜色

html - 使用 Bootstrap 4 设计发票表单

html - CSS bootstrap - 在输入上设置按钮向右拉