html - css flexbox布局模块中的表格设计

标签 html css responsive-design flexbox

我正在尝试为 flexbox 模块中基于表格的设计编写标记和 CSS!

这是设计

enter image description here

这是标记

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.header-area {
  margin: 50px auto;
  max-width: 800px;
}

.flextable-header {
  width: 100%;
  background: #f7f7f7;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  height: 45px;
}

.flextable-header span {
  width: 20%;
  text-align: center;
}

.flextable-header .amount {
  flex: auto;
  text-align: right;
  padding-right: 30px;
}

.flextable-content {
  height: 100px;
  width: 100%;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}

.flextable-content div {
  width: 20%;
  text-align: center;
}

.text-left {
  display: flex;
  flex-direction: column;
  justify-content: center;
  font-size: 15px;
  height: 100%;
}

#dates {
  text-align: left;
  display: inline-block;
}

.flextable-content .money {
  flex: auto;
  text-align: right;
  padding-right: 30px;
}

.flextable-content div img {
  width: 120px;
  height: 80px;
  border-radius: 5px;
  object-fit: cover;
  object-position: center;
}
<div class="header-area">

  <div class="flextable-header">
    <span>Photos</span>
    <span>Date</span>
    <span class="amount">Amount</span>
  </div>

  <div class="flextable-content">
    <div><img src="https://i.imgur.com/VzV3NwJ.jpg" alt=""></div>

    <div class="text-left">
      <div>Business</div><br/>
      <div id="dates">25 December 2019</div>
    </div>

    <div class="money">3500 <small>Taka</small></div>

  </div>

</div>

我按照放在顶部的设计在日期对齐和底部边框处堆叠!

最佳答案

您可以像下面这样简化您的代码,并为该行使用一个简单的渐变:

* {
  box-sizing: border-box;
}

.header-area {
  margin: 50px auto;
  max-width: 800px;
}

.flextable-header,
.flextable-content{
  background: #f7f7f7;
  display: flex;
  align-items: center;
  height: 45px;
}

.flextable-header > span:first-child {
  min-width:130px;
  text-align:center;
}

.flextable-header .amount,
.flextable-content .money{
  margin-left:auto;
  padding-right: 30px;
}

.flextable-content {
  height: 100px;
  background:linear-gradient(grey,grey) bottom right/calc(100% - 130px) 1px no-repeat;
  padding-bottom:10px;
  margin:10px 0;
}
.flextable-content:last-child {
  background:none;
}

.flextable-content > img {
  max-width:120px;
  border-radius: 5px;
}

.text-left {
  padding-left:10px;
  font-size: 15px;
}
<div class="header-area">

  <div class="flextable-header">
    <span>Photos</span>
    <span>Date</span>
    <span class="amount">Amount</span>
  </div>

  <div class="flextable-content">
    <img src="https://i.imgur.com/VzV3NwJ.jpg" alt="">

    <div class="text-left">
      <div>Business</div>
      <div class="dates">25 December 2019</div>
    </div>

    <div class="money">3500 <small>Taka</small></div>

  </div>
  <div class="flextable-content">
    <img src="https://i.imgur.com/VzV3NwJ.jpg" alt="">

    <div class="text-left">
      <div>Business</div>
      <div class="dates">25 December 2019</div>
    </div>

    <div class="money">3500 <small>Taka</small></div>

  </div>
  <div class="flextable-content">
    <img src="https://i.imgur.com/VzV3NwJ.jpg" alt="">

    <div class="text-left">
      <div>Business</div>
      <div class="dates">25 December 2019</div>
    </div>

    <div class="money">3500 <small>Taka</small></div>

  </div>

</div>

关于html - css flexbox布局模块中的表格设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53930427/

相关文章:

css - 为什么我的图像被截断了? -现在仅在 IE 中编辑

html - 响应式页脚不停留在页面底部

css - 响应式 2 列绝对定位

html - 对不同的元素应用相同的效果

javascript - HTML select 元素多属性 |多个属性在 Windows Phone 8 中不起作用

html - 如何调用基于浏览器的css?

css - 在 DOM 检查器中查找计算样式 "source"("trigger")

用于主题化 UI 的 CSS 样式库

html - Angular2 - 将 CSS 类添加到选定元素

javascript - CSS/JS : Is it possible to scale text accurately?(不仅仅是改变字体大小)