我正在使用here
中的时间轴插件这是我目前的代码:
<ul id="dates">
<li><a href="#1940s">1940s</a></li>
<li><a href="#1950s" class="selected">1950s</a></li>
<li><a href="#1960s">1960s</a></li>
<li><a href="#1970s">1970s</a></li>
<li><a href="#1980s">1980s</a></li>
<li><a href="#1990s">1990s</a></li>
<li><a href="#2000s">2000s</a></li>
</ul>
<ul id="issues">
<li id="1940s"><img src="/gfx/timeline/1950.jpg" />
<h1>1940's</h1>
<p>Ronald.</p>
</li>
<li id="1950s"><img src="/gfx/timeline/1960.jpg" />
<h1>1950's</h1>
<p>Eddy.</p>
</li>
<li id="1960s"><img src="/gfx/timeline/1970.jpg" />
<h1>1960's</h1>
<p>1960s</p>
</li>
<li id="1970s"><img src="/gfx/timeline/1980.jpg" />
<h1>1970's</h1>
<p>1970s</p>
</li>
<li id="1980s"><img src="/gfx/timeline/1990.jpg" />
<h1>1980's</h1>
<p>1980s</p>
</li>
<li id="1990s"><img src="/gfx/timeline/1990.jpg" />
<h1>1990's</h1>
<p>1990s</p>
</li>
<li id="2000s"><img src="/gfx/timeline/2000.jpg" />
<h1>2000s</h1>
<p>2000s</p>
</li>
</ul>
但我不明白我怎么能让它看起来像这样......
任何帮助?谢谢
当前的CSS:
#timeline {
width: 660px;
height: 350px;
overflow: hidden;
margin: 100px auto;
position: relative;
background: url('Img/vline.png') left 65px repeat-x;
}
#dates {
width: 660px;
height: 60px;
overflow: hidden;
}
#dates li {
list-style: none;
float: left;
width: 100px;
height: 50px;
font-size: 24px;
text-align: center;
background: url('Img/hline.png') center bottom no-repeat;
}
#dates a {
line-height: 38px;
text-decoration:none;
color:#999;
font-size:15px;
font-weight:bold;
}
#dates .selected {
font-size: 38px;
color:#000;
}
#issues {
width: 660px;
height: 350px;
overflow: hidden;
}
#issues li {
width: 660px;
height: 350px;
list-style: none;
float: left;
}
#issues li img {
float: right;
margin: 100px 30px 10px 50px;
}
#issues li h1 {
color: #999;
font-size: 20px;
margin: 20px 0;
}
#issues li p {
font-size: 14px;
margin-right: 70px;
font-weight: normal;
line-height: 22px;
}
答案 0 :(得分:0)
jQuery Timelinr有一个带样式的文件 - style_v.css。据我所知,你可以改变这些样式,以获得新的设计。
答案 1 :(得分:0)
工作示例:http://jsfiddle.net/JJrfN/
您可以使用::before
和::after
伪元素添加行。对于较旧的broswers,这将不友好(IE7不支持这些伪元素,IE8最好是粗略的)。您还必须将position: relative
添加到#dates li
元素。
因此,例如,您可以在示例中添加以下CSS:
#dates li a::before {
content: "";
position: absolute;
width: 1px;
height:50px;
background-color: grey;
left: 50%;
bottom: -50px;
}
#dates li a::after {
content: "";
position: absolute;
height:1px;
background-color: grey;
left: 0;
right: -20px;
bottom: -50px;
}
您还会发现必须稍微改变第一个和最后一个li
元素的样式,因为它们缺少前面的/过程li
元素。所以这些必须单独定位和设计:
#dates li:first-child a::after {
content: "";
position: absolute;
height:1px;
background-color: grey;
left: 50px;
right: -20px;
bottom: -50px;
}
#dates li:last-child a::after {
content: "";
position: absolute;
height:1px;
background-color: grey;
left: 0;
width: 50px;
bottom: -50px;
}
要将.selected li
元素移到其他元素之上,那么您可以给它一个负top
值,因为我们已经相对定位它。要添加圆形边框,您可以使用border-radius: 10px
。这仅适用于现代broswers,但是一些较旧的浏览器包括他们自己的选择器,例如Chrome的-webkit-border-radius:3px;
和Firefox的-moz-border-radius:3px;
。不幸的是,IE8及以下版本不支持此功能。
#dates li.selected {
font-size: 38px;
top: -30px;
border: 1px solid grey;
-webkit-border-radius:10px;
-moz-border-radius:10px;
border-radius: 10px;
}
您再次发现,由于我们更改了::before
位置,您必须将::after
和.selected
伪元素样式更改为top
元素,因此这些必须有针对性地进行适当的改变:
#dates li.selected a::before {
content: "";
position: absolute;
width: 1px;
height:88px;
background-color: grey;
left: 50%;
bottom: -88px;
}
#dates li.selected a::after {
content: "";
position: absolute;
height:1px;
background-color: grey;
left: 0;
right: -20px;
bottom: -88px;
}
再次,选择第一个或最后一个li
元素的样式:
#dates li:first-child.selected a::after {
content: "";
position: absolute;
height:1px;
background-color: grey;
left: 50px;
right: -20px;
bottom: -88px;
}
#dates li:last-child.selected a::after {
content: "";
position: absolute;
height:1px;
background-color: grey;
left: 0;
right: -20px;
bottom: -88px;
}
虽然这是一个漫长的方式,但这可以通过一点时间和理解来清理(这就是为什么我在这个答案中添加了很多信息)。
我希望它可以帮助您了解如何实现所需的设计。