gpt4 book ai didi

html - Bootstrap 时间轴响应式布局问题

转载 作者:太空宇宙 更新时间:2023-11-03 17:38:11 24 4
gpt4 key购买 nike

我一直在使用使用 Bootstrap 构建的示例时间轴,到目前为止它运行良好,但在调整大小时一些布局并没有完全对齐。我已经自定义了代码,以便所有时间线元素都位于该行本身的右侧,现在我在排列每个元素的图标以及最后的最终图标时遇到了问题。

我为困惑的 fiddle 道歉,但这是我的 fiddle :

http://jsfiddle.net/36yt7srz/

您可以看到,在底部的最后一个圆圈中,当窗口较小时,它大致排在时间轴的中间,但当窗口调整大小时,它与该线不同步。我可以使用一些媒体查询,但我觉得这将不可避免地以一个圆圈结束,该圆圈在某些窗口大小下仍然会越界。

我正在寻找一种方法,基本上让圆圈沿着直线移动。

这是 HTML:

<!-- content -->
<div class="col-md-12 content page">

<!-- header icon -->
<div class="col-xs-3">

<img class="img-responsive" src="http://s21.postimg.org/s3hybqfwz/icon.jpg">

</div>

<!-- header text -->
<div class="col-xs-9 schedule-header-text">

<img class="img-responsive" src="http://s27.postimg.org/4y34y273z/text.jpg">

</div>

<!-- Timeline -->
<div class="col-xs-12">
<ul class="timeline">

<li class="timeline-inverted">
<div class="tl-circ"></div>
<div class="timeline-panel">
<div class="tl-heading">
<h4>Date</h4>
</div>
<div class="tl-body">
<p>Content</p>
<p><small class="text-muted"><i class="fa fa-map-marker"></i> Location</small></p>
</div>
</div>
</li>

<li class="timeline-inverted">
<div class="tl-circ"></div>
<div class="timeline-panel">
<div class="tl-heading">
<h4>Date</h4>
</div>
<div class="tl-body">
<p>Content</p>
<p><small class="text-muted"><i class="fa fa-map-marker"></i> Location</small></p>
</div>
</div>
</li>

<li class="timeline-inverted">
<div class="tl-circ-empty"></div>
</li>

</ul>
</div>

这是 CSS:

/** timeline box structure **/
.timeline {
list-style: none;
padding: 20px 0 20px;
position: relative;
}

.timeline:before {
top: 0;
bottom: 0;
position: absolute;
content: " ";
width: 2px;
background-color: #504f4f;
left: 5%;
}

.timeline li {
margin-bottom: 25px;
position: relative;
}

.timeline li:before, .timeline li:after {
content: " ";
display: table;
}
.timeline li:after {
clear: both;
}
.timeline li:before, .timeline li:after {
content: " ";
display: table;
}

/** timeline panels **/
.timeline li .timeline-panel {
width: 90%;
float: left;
background: rgba(0,0,0,0.6);
padding: 10px;
position: relative;
top: 23px;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
}

.timeline li .timeline-panel.noarrow:before, .timeline li .timeline-panel.noarrow:after {
top:0;
right:0;
display: none;
border: 0;
}

.timeline li.timeline-inverted .timeline-panel {
float: right;
}

.timeline li.timeline-inverted .timeline-panel:before {
border-left-width: 0;
border-right-width: 15px;
left: -15px;
right: auto;
}

.timeline li.timeline-inverted .timeline-panel:after {
border-left-width: 0;
border-right-width: 14px;
left: -14px;
right: auto;
}


/** timeline circle icons **/
.timeline li .tl-circ {
position: absolute;
top: 23px;
left: 5%;
text-align: center;
background: url(../img/schedule-icon.png);
color: #fff;
width: 35px;
height: 35px;
margin-left: -13px;
z-index: 99999;
}

.timeline li .tl-circ-empty {
position: absolute;
top: 35px;
left: 46px;
text-align: center;
background: #434343;
width: 15px;
height: 15px;
margin-left: -13px;
border: 3px solid #434343;
border-top-right-radius: 50%;
border-top-left-radius: 50%;
border-bottom-right-radius: 50%;
border-bottom-left-radius: 50%;
z-index: 99999;
}

/** timeline content **/

.tl-heading h4 {
margin: 0 0 10px 0;
color: #fafafa;
}

.tl-body p, .tl-body ul {
margin-bottom: 0;
color: #fafafa;
}

.tl-body > p + p {
margin-top: 5px;
}

/** media queries **/
@media (max-width: 991px) {
.timeline li .timeline-panel {
width: 90%;
}
}

@media (max-width: 700px) {
.page-header h1 { font-size: 1.8em; }

ul.timeline:before {
left: 40px;
}

ul.timeline li .timeline-panel {
width: calc(100% - 90px);
width: -moz-calc(100% - 90px);
width: -webkit-calc(100% - 90px);
}

ul.timeline li .tl-circ {
top: 22px;
left: 22px;
margin-left: 0;

}

ul.timeline > li > .timeline-panel {
float: right;
}

ul.timeline > li > .timeline-panel:before {
border-left-width: 0;
border-right-width: 15px;
left: -15px;
right: auto;
}

ul.timeline > li > .timeline-panel:after {
border-left-width: 0;
border-right-width: 14px;
left: -14px;
right: auto;
}
}

.schedule-header-text {
padding-top: 12px;
}

.schedule-header-text img {
max-width: 75%;
}

.content.page {
padding: 5%;
}

最佳答案

不知道我理解的对不对。但这是我为使它对齐所做的(我更改了可见性的颜色)

.timeline li .tl-circ-empty {
position: absolute;
top: 35px;
left: 5%;
text-align: center;
background: red;
width: 15px;
height: 15px;
margin-left: -7.5px;
border: 3px solid red;
border-radius: 50%;
z-index: 99999;
}

我添加了以下内容

@media (max-width: 700px){
ul.timeline li .tl-circ-empty {
left: 22px;
margin-left: 10px;
}
}

我急着要去某个地方。如果这没有解决您的问题,请告诉我。

编辑1

PS.就像我上面提到的,我没有足够的时间完整地阅读你的css。我专注于 .tl-circ-empty 类来创建修复而不触及整个 css 结构以最小化损害。

编辑2

我记得自己处理垂直时间轴。我在this之后学到了很多东西.

关于html - Bootstrap 时间轴响应式布局问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29488235/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com