css - 两个 div 并排,没有容器

标签 css flexbox

我必须并排内联两个 div。问题是,我不能编辑 HTML,而且他们没有容器。为了让事情变得更复杂,第一个 div 需要比第二个更宽。而且我不知道如何做到这一点使其响应。

这就是我目前所拥有的。但它没有反应。为此,我必须使用@media 对其进行编辑,而我确实在努力避免这种情况。有没有办法让这个更干净?一种我可以在没有容器的情况下使用 flex 的方法?并让它响应迅速,而不是让它在较小的设备上啮合在一起?

.one,
.two {
  float: left;
}

.one {
  width: 66.66%;
}

.two {
  width: 33.33%;
}
<div class="one">content goes here</div>
<div class="two">content goes here</div>

编辑: 这就是我的代码大纲,带有一个容器。只是为了让你们了解有关该问题的更多信息。带有类部分的 Div - 一个里面有 5 个元素,它们需要在调整窗口大小时保持内联和响应,所以我不想弄乱我目前拥有的代码,因为它在较小的屏幕上表现良好。

.container {}

.heading {
  text-align: center;
  margin-bottom: 35px;
}

.section-one {
  text-transform: uppercase;
  display: flex;
  flex-wrap: wrap;
  text-align: center;
  justify-content: space-between;
}

.item {
  position: relative;
  flex-shrink: 0;
  margin: 0 auto;
  margin-bottom: 15px;
}

.section-left {
  float: left;
  text-transform: uppercase;
  width: 66.66%;
  margin-top: 80px;
  padding-right: 80px;
}

.section-right {
  float: left;
  width: 33.33%;
}
<div class="container">
  <div class="heading">
    <h2>Lorem ipsum dolor</h2>
    <p>Morbi posuere mi condimentum dui suscipit vulputate. Donec lectus diam.</p>
  </div>
  <!--- /.heading -->
  <div class="section-one">
    <div class="item">Praesent eu elementum.</div>
    <div class="item">Praesent eu elementum.</div>
    <div class="item">Praesent eu elementum.</div>
    <div class="item">Praesent eu elementum.</div>
    <div class="item">Praesent eu elementum.</div>
  </div>
  <!--- /.section-one -->
  <div class="section-left">
    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum eu sodales est. Nullam cursus id nibh mattis porta. Cras aliquet eros urna, quis imperdiet tortor placerat sed.
  </div>
  <!--- /.section-left -->
  <div class="section-right">
    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum eu sodales est. Nullam cursus id nibh mattis porta. Cras aliquet eros urna, quis imperdiet tortor placerat sed.
  </div>
  <!--- /.section-right -->
</div>

最佳答案

您可以使用 CSS calc() 函数display:inline-block 而不是 float 来响应地对齐两个 div,而无需使用媒体查询

但由于两个 div 都显示为 inline-block 并且在使用 inline-block 时它会在它的 block 周围添加 white-space 以删除我使用的 font-size:0body 标签中,所以在你设计的剩余 block 上你必须手动分配 font-size 否则文本不会可见。

body{
  font-size:0;
  margin:0;
}
.one{
  display:inline-block;
  background:pink;
  width:calc(100vw - 40vw);
  font-size:16px;
}
.two{
  display:inline-block;
  background:pink;
  width:calc(100vw - 60vw);
  font-size:16px;
}
<div class="cont">
<div class="one">content goes here</div>
<div class="two">content goes here</div>
</div>

关于css - 两个 div 并排,没有容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46324521/

相关文章:

html - 如何将 html 元素放置在新生成的元素之外

javascript - 链接到特定幻灯片

html - 如果可以的话,我想让我的 flex box 进入 2 x 2 网格帮助

html - 如何使父级的Flexbox高度的内部div

html - 使用 flexbox 增加元素的高度

css - Flexbox 没有被包裹在移动设备上

css - 如何用css选择单独一行的元素?

jquery - SelectBox 替换,允许选项中的 html

css - 无法拖动具有 css 属性未设置 : all 的元素

html - html列表项和段落之间的视觉差异