使用内联块布局html卡

时间:2017-03-10 06:07:16

标签: html css

这是我想要的布局: screenshot

我无法对齐盒子。我使用了inline-block,因为我听说它与花车相比更容易处理。



@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);
}


}

<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>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:1)

您似乎正在设置错误的div来显示:inline-block。

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

    .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而不是class)。有关代码中的工作示例,请参阅此CodePen:http://codepen.io/AlxTheRed/pen/BWWwzr/