html - CSS3 : responsive centered row with variable size outter-elements

标签 html css w3c

更新2

正在关注 @kidconcept关于使用 table 标签的新更新,我修改了它以使其居中 Table Timeline .注:复制粘贴@kidconcept进入本地元素(不在 JS Fiddle 上)没有此属性。我还添加了 CSS 选择器,以便更轻松地改变方向。


感谢您考虑我的问题。

我正在尝试创建一个自定义行。我想要实现的是在描述标题下进行更详细的描述。

此外,我还包括一个 JS Fiddle,它让我接近(也许)我想要实现的目标(例如,我投入了一些工作)。

我不太了解 CSS3,教程在 W3-schools实际上只涵盖了基础知识,但是对于 display 选项之间的区别以及 float 实际对对象所做的事情的更深入的理解并不容易给出。

非常感谢您的帮助,并渴望向您学习 :)


描述

JS Fiddle : 具有固定大小中间元素的三元素行

我正在尝试创建一个恰好包含三个元素的行。我希望中间元素具有固定大小并居中。我希望其他两个元素(左/右)与中间元素有固定的间距,但大小要有响应,见下文:

enter image description here

此外,我想以固定间距堆叠这些行:

enter image description here

以及响应小窗口尺寸:

enter image description here

更新

使用来自 @kidconcept 的答案,您可以制定合理的时间表。

enter image description here

最佳答案

更新:我认为用表格更容易解决这个问题。只需创建一个包含三列的表格,并为中间列指定固定宽度。

<table>
<tr>
  <td></td>
  <td class="middle"></td>
  <td></tr>
</table>

td {
  background-color: tomato;
  padding: 2rem;
}

.middle {
  width: 10rem;
}

表格提琴

https://jsfiddle.net/botbvanz/2/


有问题的 Flex 方法:flex。了解有关 flex 的更多信息 here .

<section class="tri-element-rows">
  <div class="left-element"></div>
  <div class="middle-element"></div>
  <div class="right-element"></div>
</section>

html, body {
  height: 100%
}
section {
  display: flex;
  height: 50%;
}

div.middle-element {
  width: 15rem;
  height: 10rem;
}

div.left-element,
div.right-element {
  flex-grow: 1;
}

div {
  background-color: coral;
  margin: 1rem;
}

要实现这种效果,只需将三个元素放在 display: flex 框中即可。将中间元素的宽度设置为固定,在本例中为 15rem。然后给左/右元素 flex-grow: 1,表示它们应该平均填充剩余空间。给所有 div 一个固定的边距,在本例中为 1rem。

对于高度,我不确定我是否完全理解您的要求,但是如果您希望内部 div 的高度响应窗口,您可以将它们的高度设置为父容器的百分比。为了使这个技巧起作用,您需要记住将 html 和 body 的高度设置为 100%(这使它们成为 of 的百分比。在这种情况下,我将 section-height 设置为 50 %,这意味着两行将始终填满屏幕。另一个问题是,如果您为 section 元素设置内边距或边框,该元素将变为 50% 加上内边距和边框。为避免这种情况,请在部分标签上设置 box-sizing: border-box

这是一个 fiddle :https://jsfiddle.net/ksgd6r11/

关于html - CSS3 : responsive centered row with variable size outter-elements,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42152646/

相关文章:

html - CSS 斑马条纹特定表 tr :nth-child(even)

xml - 使用 XS :date i want date in format YYYYMMDD

html - THEAD TBODY 和 COLSPAN 的 CSS 边框问题

javascript - 为什么 touchDown 和 mouseDown 不能组合起来?

javascript - 如何获取图像的图像高度以设置另一个div高度

PHP mySQL 搜索不工作

jquery - css 使固定高度的下拉菜单可滚动

html - 2个div之一的CSS缩放抖动

php - 如何在 drupal 6 的 block 内添加带有 php 的主体类?

javascript - 如何在 Javascript 中使文本中的每个字母具有不同的随机颜色