首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用内联块布局html卡

使用内联块布局html卡
EN

Stack Overflow用户
提问于 2017-03-10 06:07:15
回答 1查看 7.7K关注 0票数 2

这就是我想要的布局:

我对箱子有问题。我使用了inline-block,因为我听说它比浮子更容易处理。

代码语言:javascript
复制
@import url(https://fonts.googleapis.com/css?family=Open+Sans:300,400,700);
* {
  box-sizing: border-box;
}

body {
  background-image: linear-gradient(to right, #034378, #2d4e68);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  height: 100vh;
  font-family: "Open Sans", sans-serif;
}

a {
  text-decoration: none;
}

h1 {
  font-family: "Open Sans", sans-serif;
  font-weight: 300;
}

.row {
  max-width: 900px;
  margin: 50px auto 0;
}

.main_row {
  max-width: 4900px;
  margin: 50px auto 0;
}

.card {
  float: right;
  padding: 0 1.7rem;
  width: 80%;
}

.card2 {
  float: left;
  padding: 0 1.7rem;
  width: 50%;
}
.card .menu-content {
  margin: 0;
  padding: 0;
  list-style-type: none;
}
.card .menu-content::before, .card .menu-content::after {
  content: '';
  display: table;
}
.card .menu-content::after {
  clear: both;
}
.card .menu-content li {
  display: inline-block;
}
.card .menu-content a {
  color: #fff;
}
.card .menu-content span {
  position: absolute;
  left: 50%;
  top: 0;
  font-size: 10px;
  font-weight: 700;
  font-family: 'Open Sans';
  transform: translate(-50%, 0);
}
.card .wrapper {
  background-color: #fff;
  min-height: 540px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.2);
}
.card .wrapper:hover .data {
  transform: translateY(0);
}
.card .data {
  position: absolute;
  bottom: 0;
  width: 100%;
  transform: translateY(calc(70px + 1em));
  transition: transform 0.3s;
}
.card .data .content {
  padding: 1em;
  position: relative;
  z-index: 1;
}
.card .author {
  font-size: 12px;
}
.card .title {
  margin-top: 10px;
}
.card .text {
  height: 70px;
  margin: 0;
}
.card input[type='checkbox'] {
  display: none;
}
.card input[type='checkbox']:checked + .menu-content {
  transform: translateY(-60px);
}


.example-2 .wrapper {
  background: url(https://theluxurytravelexpert.files.wordpress.com/2014/01/scenery.jpg) center/cover no-repeat;
}
.example-2 .wrapper:hover .menu-content span {
  transform: translate(-50%, -10px);
  opacity: 1;
}
.example-2 .header {
  color: #fff;
  padding: 1em;
}
.example-2 .header::before, .example-2 .header::after {
  content: '';
  display: table;
}
.example-2 .header::after {
  clear: both;
}
.example-2 .header .date {
  float: left;
  font-size: 12px;
}
.example-2 .menu-content {
  float: right;
}
.example-2 .menu-content li {
  margin: 0 5px;
  position: relative;
}
.example-2 .menu-content span {
  transition: all 0.3s;
  opacity: 0;
}
.example-2 .data {
  color: #fff;
  transform: translateY(calc(70px + 4em));
}
.example-2 .title a {
  color: #fff;
}
.example-2 .button {
  display: block;
  width: 100px;
  margin: 2em auto 1em;
  text-align: center;
  font-size: 12px;
  color: #fff;
  line-height: 1;
  position: relative;
  font-weight: 700;
}
.example-2 .button::after {
  content: '\2192';
  opacity: 0;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(0, -50%);
  transition: all 0.3s;
}
.example-2 .button:hover::after {
  transform: translate(5px, -50%);
  opacity: 1;
}









.card_main_container{
  text-align: left;
  height: 100%;
  width: 30%
}

.card_main_container2{
  text-align: right;
  height: 30%;
  width: 100%;
}

.card_main {
  text-align: left;
  display: inline-block;
  padding: 0 1.7rem;
  width: 50%;
}
.card_main .menu-content {
  margin: 0;
  padding: 0;
  list-style-type: none;
}
.card_main .menu-content::before, .card .menu-content::after {
  content: '';
  display: table;
}
.card_main .menu-content::after {
  clear: both;
}
.card_main .menu-content li {
  display: inline-block;
}
.card_main .menu-content a {
  color: #fff;
}
.card_main .menu-content span {
  position: absolute;
  left: 50%;
  top: 0;
  font-size: 10px;
  font-weight: 700;
  font-family: 'Open Sans';
  transform: translate(-50%, 0);
}
.card_main .wrapper {
  background-color: #fff;
  min-height: 540px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.2);
}
.card_main .wrapper:hover .data {
  transform: translateY(0);
}
.card_main .data {
  position: absolute;
  bottom: 0;
  width: 100%;
  transform: translateY(calc(70px + 1em));
  transition: transform 0.3s;
}
.card_main .data .content {
  padding: 1em;
  position: relative;
  z-index: 1;
}
.card_main .author {
  font-size: 12px;
}
.card_main .title {
  margin-top: 10px;
}
.card_main .text {
  height: 70px;
  margin: 0;
}
.card_main input[type='checkbox'] {
  display: none;
}
.card_main input[type='checkbox']:checked + .menu-content {
  transform: translateY(-60px);
}


}
代码语言:javascript
复制
<link rel="stylesheet" type="text/css" href="style.css">

<div class="main_row">
<div class="example-2 card">
    <div class="wrapper">
      <div class="header">
        <div class="date">
          <span class="day">12</span>
          <span class="month">Aug</span>
          <span class="year">2016</span>
        </div>
        <ul class="menu-content">
          <li>
            <a href="#" class="fa fa-bookmark-o"></a>
          </li>
          <li><a href="#" class="fa fa-heart-o"><span>18</span></a></li>
          <li><a href="#" class="fa fa-comment-o"><span>3</span></a></li>
        </ul>
      </div>
      <div class="data">
        <div class="content">
          <span class="author">REVIEW</span>
          <h1 class="title"><a href="#">TITLE</a></h1>
          <p class="text">Description</p>
          <a href="#" class="button">Read more</a>
        </div>
      </div>
    </div>
  </div>
</div>
<p></p>
<div class="row">

<div clas="card_main_container">
  <div class="example-2 card_main">
    <div class="wrapper">
      <div class="header">
        <div class="date">
          <span class="day">12</span>
          <span class="month">Aug</span>
          <span class="year">2016</span>
        </div>
        <ul class="menu-content">
          <li>
            <a href="#" class="fa fa-bookmark-o"></a>
          </li>
          <li><a href="#" class="fa fa-heart-o"><span>18</span></a></li>
          <li><a href="#" class="fa fa-comment-o"><span>3</span></a></li>
        </ul>
      </div>
      <div class="data">
        <div class="content">
          <span class="author">REVIEW</span>
          <h1 class="title"><a href="#">TITLE</a></h1>
          <p class="text">Description</p>
          <a href="#" class="button">Read more</a>
        </div>
      </div>
    </div>
  </div>
</div>

<div class="card_main_container2">
<div class="example-2 card_main">
    <div class="wrapper">
      <div class="header">
        <div class="date">
          <span class="day">12</span>
          <span class="month">Aug</span>
          <span class="year">2016</span>
        </div>
        <ul class="menu-content">
          <li>
            <a href="#" class="fa fa-bookmark-o"></a>
          </li>
          <li><a href="#" class="fa fa-heart-o"><span>18</span></a></li>
          <li><a href="#" class="fa fa-comment-o"><span>3</span></a></li>
        </ul>
      </div>
      <div class="data">
        <div class="content">
          <span class="author">REVIEW</span>
          <h1 class="title"><a href="#">TITLE</a></h1>
          <p class="text">Description</p>
          <a href="#" class="button">Read more</a>
        </div>
      </div>
    </div>
  </div>
  </div>




</div>

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-10 07:57:32

看起来您设置了错误的div以显示:内联块。

外部容器(card_main_container和card_main_container_2)需要设置为显示:内联块;宽度为50%。然后,内部div(当前内联块)应该是100%的宽度(它们的父块),并显示:块。

代码语言:javascript
复制
    .card_main_container{
      text-align: left;
      height: 100%;
      width: 50%;
      display: inline-block;
    }

    .card_main_container2 {
      text-align: right;
      height: 30%;
      width: 50%;
      display: inline-block;
    }

    .card_main {
      text-align: left;
      display: block;
      padding: 0 1.7rem;
      width: 100%;
    }

虽然宽度似乎有一些问题,但这使得它们不能并排坐着。如果你把它们变成45%,而不是50%,它就会起作用。

补充:您的代码有一些问题,包括一个div中的一个错误(您有clas而不是类)。有关代码中的一个工作示例,请参阅此CodePen:http://codepen.io/AlxTheRed/pen/BWWwzr/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42711428

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档