带有浮动右断开子项的div

若昂·雷贝洛(JoãoRebelo)

我一直在到处寻找有关我遇到的Css布局宽度问题的帮助。

每当我将div浮动到右侧时,其宽度都不会自动调整为其子级的总宽度。我已经在所有常见的浏览器(Firefox,Chrome和IE11 / Edge)上观察到了这种影响。发生的是,最后一个孩子只会在所有其他人的下面被显示,这是我所不希望的。

这是我一直在使用的css和html。

https://jsfiddle.net/xqpf9s95/2/

    *

<div id="header-container">
        <div id="header-top-container">

          <div id="header-logo">
            <a href="/GlobalImagens/pages/imagens.xhtml?categoria=ultima-hora">
              <img src="../resources/images/logo_globalimagens.jpg" alt="Global Imagens"></a>
          </div>

          <div class="header-top-right-corner">
            <form id="language" name="language" method="post" action="/GlobalImagens/pages/imagens.xhtml" enctype="application/x-www-form-urlencoded">
              <input name="language" value="language" type="hidden">

              <div id="newsletter" class="newsletter">
                <a href="http://72.e-goi.com/w/Te1LetVmefgyM9g90LOh" target="_blank" style="font-size: 10px;">Subscrever Newsletter</a>
              </div>

              <div style="float: right; padding-left: 6%;">
                <script type="text/javascript" src="/GlobalImagens/javax.faces.resource/jsf.js.xhtml?ln=javax.faces&amp;stage=Development"></script>
                <a href="#" style="text-decoration:none; " onclick="mojarra.jsfcljs(document.getElementById('language'),{'language:j_idt31':'language:j_idt31','localeCode':'en'},'');return false">
                  <img src="../resources/images/flag_uk.jpg" border="0"></a>
              </div>

              <div style="float: right;">
                <a href="#" style="text-decoration:none;" onclick="mojarra.jsfcljs(document.getElementById('language'),{'language:j_idt35':'language:j_idt35','localeCode':'pt'},'');return false">
                  <img src="../resources/images/flag_pt.jpg" border="0"></a>
              </div>
              <input name="javax.faces.ViewState" id="j_id1:javax.faces.ViewState:0" value="215900126811062761:3093351618596041247" autocomplete="off" type="hidden">
            </form>
          </div>

          <div id="admin-container">

            <div>
              <span class="admin-menu1" style="padding-left: 1.5%;"><a href="/GlobalImagens/pages/entrar.xhtml" title="Iniciar Sessão">Iniciar Sessão</a>
                        </span>
              <span class="dotted-separator"></span>
              <span style="padding-left: 1.5%;"><a href="/GlobalImagens/pages/registo.xhtml" title="Registo">Registo</a>
                        </span>

              <span class="admin-menu3"><a href="/GlobalImagens/pages/entrar.xhtml">
                            <img src="../resources/images/bt_minhaconta.jpg" title="A Minha conta" alt="A Minha conta"></a>
                    </span>
              <span class="dotted-separator"></span>
              <span class="admin-menu4"><a href="/GlobalImagens/pages/entrar.xhtml">
                            <img src="../resources/images/bt_carrinho.jpg" title="Meu carrinho" alt="Meu carrinho"></a>
                    </span>
            </div>
            <div>

              <div align="right">
                <span style="color: #83266f; padding-right: 5px;">Não pode adquirir imagens</span><a href="/GlobalImagens/pages/consumos.xhtml" style="color:#83266f;" title="detalhes">(detalhes)</a>
              </div>

            </div>
          </div>

        </div>
    /*tables header*/
.admin-menu1 {
  padding-right: 1.5%;
}
.dotted-separator {
  border: none;
  border-left: 1px dotted #83256f;
  color: #fff;
  /*   background-color:#dadada;
  height:17px;
  width:0%;
  margin: 0%; */
}
.admin-menu2 {
  padding-left: 10px;
  background: url(../images/background_dot.jpg) no-repeat right;
}
.admin-menu-logged-in-3 {
  padding-left: 1.5%;
}
.admin-menu3 {
  /* width: 75px; */
}
.admin-menu4 {
  /*    width: 28px; */
}
/*******************************HEADER*******************************/
#header-container {
  /* height: 180px; */
  /* float: left; */
}
#header-top-container {
  /*    width: 983px; */
  /* height: 100px; */
  /* float: left; */
}
#header-logo {
  padding-top: 1%;
  float: left;
}
#header-logo img {
  border: none;
  border-style: none;
}
.newsletter {
  float: left;
  padding-top: 1%;
}
.header-top-right-corner {
  float: right;
  padding-top: 1%;
  width: 11%;
}
#admin-container {
  padding-top: 1%;
  font-size: 10px;
  clear: right;
  float: right;
  box-sizing: border-box;
}
#admin-container a {
  text-decoration: none;
  color: #493641;
}
#admin-container a:hover {
  text-decoration: underline;
}

*

我的问题是div“#admin-container”。

如何解决此问题,以使div自动调整为正确的宽度并显示而不会破坏其子元素?

干杯,谢谢。

编辑:我已经按照@Dzijeus的要求编辑了代码。正如我所评论的,图像与问题无关紧要。我的问题是为什么宽度不能在'#admin-container'上自动调整以适合其所有子项。

耶稣

感谢您更新代码,它虽然更好,但离最小的可验证示例还差得远。一个最小的例子是,您在仍然重现问题的同时从代码中剥离了尽可能多的内容。

就您而言,如果您完成了练习,则可能会遇到以下情况:

<div id="admin-container">
      <span class="admin-menu1">Iniciar Sessão</span>
      <span>Registo</span>
      <span>A Minha conta</span>
      <span>Meu carrinho</span>
</div>

.admin-menu1 {
  padding-right: 1.5%;
}

#admin-container {
  clear: right;
  float: right;
}

您将立即看到这样做的兴趣,并解决了问题。因为从这里开始,很容易注意到问题出在使用相对填充。切换到,例如padding-right: 2px,现在显示如您所愿。

通常,填充和边距不适用于内联元素,例如span要应用填充或边距,您应该使用display: blockdisplay: inline-block

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

带有浮动右断开子项的div

来自分类Dev

带有固定右列的Div表

来自分类Dev

右浮动div ...与底部对齐?

来自分类Dev

浮动:右图突破div

来自分类Dev

可以应用带有z-index的div浮动吗?

来自分类Dev

带有表单元格问题的浮动div

来自分类Dev

带有用于导航的浮动的中心徽标 div

来自分类Dev

如何将带有图像的浮动 div 水平居中?

来自分类Dev

将右div浮动到左div

来自分类Dev

左右浮动:左div在右div下方

来自分类Dev

如何使左浮动div不重叠右浮动div

来自分类Dev

在右浮动div中对齐文本中心

来自分类Dev

div大小未计入右浮动元素

来自分类Dev

如何浮动(左/右)3个div之间没有空格?

来自分类Dev

带有滚动和左/右区域的 DIV 布局

来自分类Dev

如何将子项添加到带有类的嵌套 div 结构中

来自分类Dev

第三,右浮动div低于中间的div

来自分类Dev

仅使用xslt从xml中选择带有子项的子项

来自分类Dev

带有菜单控制子项的 tfs 扩展 - 子项未显示

来自分类Dev

如何垂直对齐:底部2个浮动div带有文本

来自分类Dev

响应主题中带有垂直对齐的浮动div的环绕式文本

来自分类Dev

没有重叠的浮动div

来自分类Dev

创建带有可选子项的路线

来自分类Dev

带有子项的ListView。Android示例

来自分类Dev

从json结构创建带有子项的列表

来自分类Dev

动态菜单:带有子项的ID项

来自分类Dev

Javascript 选择带有 Id 格式的子项

来自分类Dev

如何在一组带有浮动 div 的 div 下方放置一个 CSS 框?

来自分类Dev

输入和带有模式的浮动标签