gpt4 book ai didi

html - 在 div、float 或 absolute 上自动扩展宽度?

转载 作者:行者123 更新时间:2023-11-28 18:34:07 24 4
gpt4 key购买 nike

问题

我有一个框,其中包含有关我网站上用户的动态信息。由于数据是动态的,框必须自动适应内容。我没有问题让它工作,如下所示:

Example - jsFiddle .

如您所见,如果内容较长,div#dd_ui 只会相对扩展,元素会保持在正确的位置。

尽管上面的示例有效,但我实际上希望盒子看起来有点不同。我希望底部的两个列始终彼此具有相同的宽度(但相对调整大小),因此允许在其内容上居中对齐。换句话说,我希望盒子看起来像这样:

User Information Box (new look)

但是,当上面的内容增加时,问题就出现了,因为页脚列也必须相对扩展,如下所示:

User Information Box Expanded (new look)

我的问题

如果不使用 javascript (在这种情况下我不会求助),我想不出任何好的方法来实现这一目标。 有人能找到使用 CSS 实现此目的的好方法吗?

我考虑过使用 width:50%; 但这行不通,因为两个 div 之间有一个 1 像素的分隔符(很可能是边框)

我尝试过的所有方法都没有奏效,因此除了上面的 jsFiddle 中包含的代码之外,我真的没有任何代码可以用作起点。我希望这足够了

非常感谢任何帮助:-)

最佳答案

尝试下面的代码:

如果 CSS 声明的第 5 行 (#dd_ui div#top div) 被移除,顶部 DIV 将使用 50% 的宽度,但在这种情况下右上角的 div 内容会出现问题的股利。

  <!DOCTYPE html>
<html><head>
<style>
#dd_ui {position:absolute; top: 10px; left: 10px; padding:0px; border: 1px solid #666; font-family:arial;}
#dd_ui div {position: relative;}
#dd_ui div#bottom {border-top: 1px solid #666; max-height: 75px;}
#dd_ui div div {display: inline-block; top: 0px; left: 0px; width: 50%; margin: 0px; vertical-align:top; }
#dd_ui div#top div {position:relative; width: auto;}
#dd_ui div#bottom div {border-left: 1px solid #666; margin-right:-1px;}
#dd_ui div#bottom div:first-child {margin-right: 0px; border-left: 0px;}
#dd_ui div div p {position:relative; left: 50%; display:block; width: 100%; margin: 0px; margin-left: -50%; padding:0px; border: 2px solid red;}
#dd_ui div div span {position: relative; display: block; text-align: left; line-height: 100%;}
#dd_ui div div.right span {text-align: right;}
#dd_ui_name {margin:20px 20px 0px; font-size:18px; font-weight:bold;}
#dd_ui_company {margin:5px 20px 10px; font-size:12px; color:#666;}
#dd_ui_email {margin:23px 20px 0px; font-size:14px; font-weight:bold; width: auto;}
#dd_ui_ac_number {margin:5px 20px 10px; font-size:12px; color:#666; }
#dd_ui .title {font-size:12px; color:#666; margin:20px 20px 0;}
#dd_ui .value {font-size:18px; font-weight:bold; margin:5px 20px 20px;}
</style>
</head><body>
<div id="dd_ui"><div id="top"><div class="left">
<span id="dd_ui_name">Full Name Here</span>
<span id="dd_ui_company">Director, Company Name Limited</span>
</div><div class="right">
<span id="dd_ui_email">askjdhasjkhasdjkasdhaksjdhaskjdhakjdhaskdj</span>
<span id="dd_ui_ac_number">Account Number: 5</span>
</div></div><div id="bottom"><div class="left">
<span class="title">Last logged In</span>
<span class="value">09-Nov-2012 15:35</span>
</div><div class="right">
<span class="title">Registered With</span>
<span class="value">2 Companies</span>
</div><div>
</body></html>

希望这对你有帮助,你可以玩得更远。

更新 - @BenCarey

上面的代码是正确的,但是当内容大于容器时,有一些问题会导致单元格换行。以下 jsFiddle 包含防止单元格换行的正确代码。

jsFiddle

关于html - 在 div、float 或 absolute 上自动扩展宽度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13362345/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com