如何在CSS中创建一个圆圈并使其响应?

时间:2016-12-22 22:10:44

标签: html css

我正在使用CSS设计网页。我有一个包含一列的网格,其中我有两个元素,一个是固定大小的圆圈(包含文本),一个段落对齐圆圈的右边。

我已经完成了上述部分,但没有响应。根据屏幕的大小,圆圈的大小不会减少或增加。

查看图片以获得我想要实现的目标。

enter image description here

.Circle {
  border-radius: 50%;
  width: 100%;
  height: auto;
  font-size: 14px;
  border: 1.5px solid #fbcfce;
}
.Circle span {
  text-align: center;
  line-height: 50px;
  display: block;
}
.main {
  width: 800px;
  margin: 0 none;
}
.sidebar {
  width: 60px;
  height: 10px;
  float: left;
  overflow: none;
  line-height: 0;
  margin-right: 25px;
}
.page-wrap {
  width: 300px;
  height: auto;
  margin-left: 40px;
  margin-top: 10px;
  margin-right: 10px;
}
<div class="col-md-4 col-md-offset-1 vsa">
  <div class="row main">
    <span class="Circle sidebar span1" style="padding:29px 12px;">Verify</span> 
    <div class="page-wrap">
      Verify your student status using your institute ID card or Email ID.
    </div>
  </div>
</div>

2 个答案:

答案 0 :(得分:2)

我不知道该告诉你什么,除了尝试理解你正在使用的工具和一般的CSS。我建议不要在这里使用Bootstrap。

查看此代码段 - 应该是您需要的一切。

&#13;
&#13;
.Circle {
  border-radius: 50%;
  width: 100px;
  line-height: 100px;
  border: 1.5px solid #fbcfce;
  position: absolue;
  text-align: center;
  float: left;
}
.main {
  margin-left: 120px;
}
&#13;
<div class="row">
  <span class="Circle">Verify</span>
  <p class="main">
    Verify your student status using your institute ID card or Email ID.
  </p>
</div>
&#13;
&#13;
&#13;

https://jsfiddle.net/ttq096db/1/

答案 1 :(得分:2)

  • 此示例使用伪元素创建响应循环,与flexboxes一起使用以帮助居中 JSfiddle:jsfiddle.net/nc2v9p8y

.circle {
  width: 15%;
  min-width: 50px; /* circle can't get smaller than this */
  max-width: 150px; /* no bigger than this */
  margin-right: 15px;
  position: relative;
  display: inline-block;
}

.circle::before {
  content: "";
  border: 1px solid #555;
  border-radius: 100%;
  display: block;
  width: 100%;
  padding-top: 100%;
  position: relative;
  top: 0;
  left: 0;
}

.circle span {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.text {
  display: inline-block;
}

.wrapper {
  display: flex;
  align-items: center;
}

/* *********** */
html { height: 100%; width: 100%; }
body { height: 100%; width: 100%; margin: 0; padding: 5px; }
*, *::before, *::after { box-sizing: border-box; }
<div class="wrapper">
  <div class="circle">
    <span>Verify</span>
  </div>
  <div class="text">
    Enter some text here.
  </div>
</div>

  • 更简单的解决方案是使用视口 虽然不是很有效......也许它可以做得更好,我不确定......
    JSfiddle:jsfiddle.net/mxzhbnam

.circle {
  width: 20vw;
  height: 20vw;
  border-radius: 100%;
  border: 1px solid #555;
  text-align: center;
  display: inline-block;
  margin-right: 15px;
  /*
  min-height: 50px;
  min-width: 50px;
  */
}

.circle span {
  line-height: 20vw;
}

.text {
  display: inline-block;
}
<div class="wrapper">
  <div class="circle">
    <span>Verify</span>
  </div>
  <div class="text">
    Enter some text here.
  </div>
</div>

  • 如果您唯一需要的是静态大小圈,那么您应该做的就是使容器的heightwidth相等,您可以使用px