html - 打破第二个 child div的字母

标签 html css

我有一个要求,我需要将宽度应用于父元素,该宽度等于第一个子元素的宽度。如果父元素只有一个子元素,则可以使用 display: inline-blockfloat: left 轻松实现这一点。但是我在一个div中有两个以上的子元素。像这样:

Fiddle

<div class="main">
    <div class="first">first</div>
    <div class="value">valuevalue</div>
</div>

现在,如果我将 display: inline-block 应用于父元素,那么它具有第二个子元素的宽度。

enter image description here

为了避免发生这种情况,我在第二个子元素上尝试了 break-wordword-break css 属性,但仍然没有用。

下面的屏幕截图说明了我想要获得的内容:

enter image description here

一些要点:

  • 父元素的宽度应该等于第一个子元素。
  • 父元素的高度应等于所有子元素的总和。
  • 我不知道第一个子元素的宽度。
  • (EDIT) 第一个子元素有一些固定的宽度和高度。我不知道这些值。

我只想使用 CSS 来完成此操作。欢迎使用 css3。 (我知道如何使用 javascript 执行此操作)

最佳答案

您可以使用 CSS3 的新内在和外在宽度值(此 cas 中的最小内容)轻松实现此目的,尽管 IE 不支持它,因此它不是一个可行的选择,但我将发布它,因为有趣的是我们将来可以做到这一点:

http://jsfiddle.net/S87nE/

HTML:

<div class="main">
    <div class="first">first</div>
    <div class="value">valuevaluevalue</div>
</div>

CSS:

.main {
    background-color: cornflowerblue;
    width: -moz-min-content;
    width: -webkit-min-content;
    width: min-content;
}
.first {
    width: 50px;    /* I don't know this width */
    height: 50px;    /* I don't know this height */
    background-color: grey;
}

.value{
    word-break: break-all;
}

我想在最坏的情况下,您可以将它用于较新的浏览器,将 JS 用于 IE 和旧版本。

引用:

关于html - 打破第二个 child div的字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18956530/

相关文章:

html - 在 Angular 中使用主机选择器

html - 使 html 列一直向下延伸而不破坏布局

javascript - 如何使用自定义协议(protocol)从 Android 浏览器打开 Microsoft Outlook 应用程序?

javascript - 将 HTML 布局缩放到屏幕大小

html - 当我向下还原页面时,网页元素会移动

javascript - 如果鼠标悬停在按钮上但移动了动画重置

css - NOS DRINKS 使用什么 slider ?

javascript - 在我的 html 中使用 Node 函数

html - Bootstrap 4.0.0 右对齐导航栏下拉菜单在打开时超出视口(viewport)

html - Joomla 网站上的子类样式问题