[英]How do I draw a horizontal line between two circles with CSS?
How do I draw a horizontal line in between 2 circles in CSS?如何在 CSS 中的 2 个圆圈之间绘制一条水平线?
It has to be in the middle of them just as shown in the screenshot.正如屏幕截图所示,它必须位于它们的中间。
Example here:这里的例子:
I have drawn the 2 circles, but don't know how to connect them.我画了两个圆圈,但不知道如何连接它们。
#status-buttons a { color: black; display: inline-block; font-size: 17px; font-weight: normal; margin-right: 0; text-align: center; text-transform: uppercase; min-width: 150px; text-decoration: none; } #status-buttons a:hover { text-decoration: none; } #status-buttons a.active span { color: white; background: #ACCF5B; box-shadow: rgba(0, 0, 0, 0.792157) 3px 3px 3px 0; } #status-buttons span { color: white; background: #22bacb; display: block; height: 45px; margin: 0 auto 10px; padding-top: 20px; width: 60px; border-radius: 50%; box-shadow: rgba(0, 0, 0, 0.792157) 3px 3px 3px 0; }
<div id="status-buttons" class="text-center"> <a href="#/form/regalo" class="active"><span>1</span> Step 1</a> <a href="#/form/tusdatos"><span>2</span> Step 2</a> </div>
You can use a pseudo-element to insert an absolutely-positioned border:您可以使用伪元素插入绝对定位的边框:
#status-buttons { position: relative; /* 1 */ display: inline-block; /* 2 */ } #status-buttons::after { /* 3 */ content: ""; position: absolute; width: 50%; z-index: -1; /* 4 */ top: 35%; left: 25%; border: 3px solid #ACCF5B; } #status-buttons a { color: black; display: inline-block; font-size: 17px; font-weight: normal; margin-right: 0; text-align: center; text-transform: uppercase; min-width: 150px; text-decoration: none; } #status-buttons a:hover { text-decoration: none; } #status-buttons a.active span { color: white; background: #ACCF5B; box-shadow: rgba(0, 0, 0, 0.792157) 3px 3px 3px 0; } #status-buttons span { color: white; background: #22bacb; display: block; height: 45px; margin: 0 auto 10px; padding-top: 20px; width: 60px; border-radius: 50%; box-shadow: rgba(0, 0, 0, 0.792157) 3px 3px 3px 0; }
<div id="status-buttons" class="text-center"> <a href="#/form/regalo" class="active"><span>1</span> Step 1</a> <a href="#/form/tusdatos"><span>2</span> Step 2</a> </div>
Notes:注意事项:
You can add a new element and position it between the two circles:您可以添加一个新元素并将其放置在两个圆圈之间:
#status-buttons a { color: black; display: inline-block; font-size: 17px; font-weight: normal; margin-right: 0; text-align: center; text-transform: uppercase; min-width: 150px; text-decoration: none; } #status-buttons a:hover { text-decoration: none; } #status-buttons a.active span { color: white; background: #ACCF5B; box-shadow: rgba(0, 0, 0, 0.792157) 3px 3px 3px 0; } #status-buttons span { color: white; background: #22bacb; display: block; height: 45px; margin: 0 auto 10px; padding-top: 20px; width: 60px; border-radius: 50%; box-shadow: rgba(0, 0, 0, 0.792157) 3px 3px 3px 0; } #line { position: absolute; top: 42px; left: 112px; width: 96px; height: 5px; background: #ACCF5B; }
<div id="status-buttons" class="text-center"> <a href="#/form/regalo" class="active"><span>1</span> Step 1</a> <div id="line"> </div> <a href="#/form/tusdatos"><span>2</span> Step 2</a> </div>
Here is one solution:这是一种解决方案:
https://jsfiddle.net/sfyuxrs9/ https://jsfiddle.net/sfyuxrs9/
It contains a div
(which forms the line) which has position: absolute
and a negative z-index
value.它包含一个具有position: absolute
的div
(形成线) position: absolute
和负z-index
值。 The rest ist just adjusting all the values for width/height/top and left其余的只是调整宽度/高度/顶部和左侧的所有值
I guess you can do some thing like this check the following code snippet我想你可以做一些这样的事情检查下面的代码片段
#status-buttons a { color: black; display: inline-block; font-size: 17px; font-weight: normal; margin-right: 0; text-align: center; text-transform: uppercase; min-width: 150px; text-decoration: none; } #status-buttons a:hover { text-decoration: none; } #status-buttons a.active span { color: white; background: #ACCF5B; box-shadow: rgba(0, 0, 0, 0.792157) 3px 3px 3px 0; } #status-buttons span { color: white; background: #22bacb; display: block; height: 45px; margin: 0 auto 10px; padding-top: 20px; width: 60px; border-radius: 50%; box-shadow: rgba(0, 0, 0, 0.792157) 3px 3px 3px 0; } div.linetop { border-top: 1px solid #111111; width:95px; position:absolute; top:40px; left:115px; }
<div id="status-buttons" class="text-center"> <a href="#/form/regalo" class="active"><span>1</span> Step 1</a> <a href="#/form/tusdatos"><span>2</span> Step 2</a> </div> <div class="linetop"></div>
Hope this helps希望这有帮助
Here you go.给你。
<div id="status-buttons" class="text-center">
<a href="#/form/regalo" class="active"><span>1</span> Step 1</a>
<a href="#/form/tusdatos"><span>2</span> Step 2</a>
</div>
<div class="line">
</div>
The CSS CSS
#status-buttons a {
position: relative;
color: black;
display: inline-block;
font-size: 17px;
font-weight: normal;
margin-right: 0;
text-align: center;
text-transform: uppercase;
min-width: 150px;
text-decoration: none;
z-index: 1;
}
#status-buttons a:hover {
text-decoration: none;
}
#status-buttons a.active span {
color: white;
background: #ACCF5B;
box-shadow: rgba(0, 0, 0, 0.792157) 3px 3px 3px 0;
}
#status-buttons span {
color: white;
background: #22bacb;
display: block;
height: 45px;
margin: 0 auto 10px;
padding-top: 20px;
width: 60px;
border-radius: 50%;
box-shadow: rgba(0, 0, 0, 0.792157) 3px 3px 3px 0;
}
.line {
position: absolute;
border-bottom: 5px solid black;
width: 20%;
left: 71px;
top: 39px;
z-index: 0;
}
https://jsfiddle.net/norcaljohnny/nwjz2010/ https://jsfiddle.net/norcaljohnny/nwjz2010/
Here's the cleanest solution with flex
这是使用flex
的最干净的解决方案
.timeline { display: flex; align-items: center; justify-content: center; } .circle { width: 13px; height: 13px; background: black; border-radius: 50%; } .dashed { width: 100px; border: 1px dashed #C4C4C4; }
<div class="timeline"> <div class="circle"></div> <div class="dashed"></div> <div class="circle"></div> <div class="dashed"></div> <div class="circle"></div> </div>
You can also use this method :)您也可以使用此方法:)
.his-bar { display: flex; position: relative; padding-top: 50px; width: 100%; margin:auto; margin-top: 40px; } .his-bar:before { content: ''; border: 1px solid #727272; position: absolute; top: 60px; right: 0; width: 99%; } .his-bar .point { border: 2px solid #872071; width: 20px; height: 20px; border-radius: 50%; display: inline-block; background-color: #F8F8F8; z-index: 2; position: relative; } .his-bar .point-start:after { content: '2000'; position: absolute; top: 30px; left: -7px; } .his-bar .point-end { margin-left: auto; } .his-bar .point-end:after { content: '2021'; position: absolute; top: 30px; left: -7px; }
<div class="his-bar"> <span class="point point-start"></span> <span class="point point-end"></span> </div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.