如何定位卡片

时间:2017-12-16 14:22:43

标签: html css

我的问题是如何在我的网站上放置这些卡片?

https://imgur.com/a/Ompfh

如果它们上方没有这半圈,那将很容易。 我试图为3张卡中的每张卡创建父类=“卡”和类=“卡”。 在css:

.cards { display: flex } 
.card { width: 33.33% }

并将相对位置设置为我的背景和绝对位置到我的半圈,但如果可能的话,我想在没有绝对和相对位置的情况下这样做。

.cards {
  display: flex;
}

.card {
  width: 33.33%;
  color: #fff;
  text-align: center;
}

.card p {
  min-height: 80px;
  padding: 0 39px 0 39px;
}

.strategy--logo {
  position: absolute;
  top: 383px;
  left: 607px;
  width: 96px;
  height: 48px;
  background-color: #5a471b;
  border-top-right-radius: 48px;
  border-top-left-radius: 48px;
}

.strategy {
  margin-top: 135px;
  background-color: #5a471b;
}

.crop--marketing {
  margin-top: 135px;
  background-color: #9fa374;
}

.risk--mgmt {
  margin-top: 135px;
  background-color: #666;
}
<div class="cards">
  <div class="card">
    <div class="strategy">
      <div class="strategy--logo">
        <img src="css/images/strategy-logo.png" alt="" />
      </div>
      <!-- /.strategy-/-logo -->

      <h2>

      </h2>

      <p>

      </p>
    </div>
    <!-- /.crop-/-marketing -->
  </div>
  <!-- /.card -->

  <div class="card">
    <div class="crop--marketing">
      <img src="css/images/crop-logo.png" alt="" />

      <h2>

      </h2>

      <p>

      </p>
    </div>
    <!-- /.crop-/-marketing -->
  </div>
  <!-- /.card -->

  <div class="card">
    <div class="risk--mgmt">
      <img src="css/images/arrow-logo.png" alt="" />

      <h2>

      </h2>

      <p>

      </p>
    </div>
    <!-- /.risk-/-mgmt -->
  </div>
  <!-- /.card -->
</div>
<!-- /.cards -->

现在我正在使用绝对和亲戚,但还有另一种方式吗?因为当我调整我的网络浏览器大小时,圈子会随机消失......

2 个答案:

答案 0 :(得分:1)

你想要实现这个目标吗?

var url = new URL(document.URL);
var s = url.searchParams.get("s");
var e = url.searchParams.get("e");

if (s == "mindfield" && e == "isolation") {
  player('https://youtube.com/embed/iqKdEhx-dD4');
};

function player(source) {
  document.getElementsByTagName("iframe")[0].setAttribute("src", source);
}
.card {
  displaY: block;
  float: left;
  width: 33.33%;
  text-align: center;
  color: white;
  font-family: 'Calibri';
}

.icon {
  width: 50px;
  height: 25px;
  /*half of width*/
  margin: auto;
  display: block;
  border-radius: 50px 50px 0 0;
}

.fa {
  margin-top: 10px;
}

.text {
  padding: 25px;
}

.strategy .text,
.strategy .icon {
  background-color: #5c471c;
}

.crop .text,
.crop .icon {
  background-color: #a0a175;
}

.risk .text,
.risk .icon {
  background-color: #666666;
}

答案 1 :(得分:0)

当您使用position布局时,主要问题是在其他地方改变其位置吗?

如果是这样,如果你做了一些改变,使用位置属性是可以的:

CSS

.strategy--logo { 
    position: absolute; 

    /* Remove this top parameter, use transform instead */

    /* top:383px;  */

    /* Instead your value of a left use value of 50% and transform left 
    and right properties like it is changed below */

    /* left: 607px;  */
    left: 50%;
    transform: translate(-50%, -100%);        

    width: 96px; height: 48px; 
    background-color: #5a471b; 
    border-top-right-radius: 48px; 
    border-top-left-radius: 48px; 
}

.strategy { 

    /* add position relative to a parent of strategy-logo */

    position: relative; 

    margin-top: 135px; 
    background-color: #5a471b; 
}  

即使您调整屏幕大小,您的代码也会保持相同的位置。