我有以下HTML:語義標記和Twitter的引導
<!doctype html>
<html>
<head>
<link rel="stylesheet/less" href="assets/stylesheets/style.less" />
<script src="assets/stylesheets/vendor/less/less-1.3.0.min.js"></script>
</head>
<body>
<nav>
<ul class="tabs">
<li class="selected">
<a href="#">Foo</a>
</li>
<li><a href="#">Bar</a></li>
<li><a href="#">Baz</a></li>
</ul>
<nav>
</body>
</html>
我應該怎麼寫我style.less樣式列表中爲Twitter Bootstrap Basic Tab。最顯而易見的方法 要做到這一點,複製和粘貼所有相關的CSS:
$貓style.less
@import "vendor/bootstrap/less/bootstrap.less";
.tabs {
// .nav
margin-left: 0;
margin-bottom: @baseLineHeight;
list-style: none;
// common style for tabs and pills
.clearfix();
// Give the tabs something to sit on
border-bottom: 1px solid #ddd;
}
.tabs > li {
float: left;
}
// Make links block level
.tabs > li > a {
display: block;
}
.tabs > li > a:hover {
text-decoration: none;
background-color: @grayLighter;
}
// common style for nav-tabs
.tabs > li > a {
padding-right: 12px;
padding-left: 12px;
margin-right: 2px;
line-height: 14px; // keeps the overall height an even number
}
// Make the list-items overlay the bottom border
.tabs > li {
margin-bottom: -1px;
}
// Actual tabs (as links)
.tabs > li > a {
padding-top: 8px;
padding-bottom: 8px;
line-height: @baseLineHeight;
border: 1px solid transparent;
.border-radius(4px 4px 0 0);
&:hover {
border-color: @grayLighter @grayLighter #ddd;
}
}
// Active state, and it's :hover to override normal :hover
.tabs > .selected > a,
.tabs > .selected > a:hover {
color: @gray;
background-color: @white;
border: 1px solid #ddd;
border-bottom-color: transparent;
cursor: default;
}
有沒有更好的方式來實現這一目標,沒有太多的複製和粘貼?注意:我 不能更改HTML文件。
less允許您通過重複使用先前定義的類來複制和粘貼_。你嘗試過嗎? – Sherbrow 2012-07-31 13:19:32
你可以使用padding:8px 0;和填充:0 12px; – Evgeny 2012-08-01 07:02:10
謝謝,我終於找到了一個解決方案。請參閱下面的答案。 – CRH 2012-08-01 13:38:58