gpt4 book ai didi

css - 覆盖 Twitter Bootstrap Less 不起作用,添加新东西确实有效

转载 作者:太空宇宙 更新时间:2023-11-03 18:05:48 26 4
gpt4 key购买 nike

Twitter Bootstrap 很容易在其上构建。现在我遇到了一个我无法解决的问题。我使用 TB v. 2.3.2。

在我自己的 style.less 文件中,我包含了 TB:

@import "../bootstrap/less/bootstrap.less"; 

在原来的TB文件forms.less中,可以找到这个LESS:

// INPUT GROUPS
// ------------

// Allow us to put symbols and text within the input field for a cleaner look
.input-append,
.input-prepend {
display: inline-block;
margin-bottom: @baseLineHeight / 2;
vertical-align: middle;
font-size: 0; // white space collapse hack
white-space: nowrap; // Prevent span and input from separating

.add-on {
display: inline-block;
width: auto;
height: @baseLineHeight;
min-width: 16px;
padding: 4px 5px;
font-size: @baseFontSize;
font-weight: normal;
line-height: @baseLineHeight;
text-align: center;
text-shadow: 0 1px 0 @white;
background-color: @grayLighter;
border: 1px solid #ccc;
}
}

所以在 Bootstrap 文件的@import 之后,在我自己的样式表中,我尝试像这样更改 .add-on 的背景颜色(应该变成粉红色而不是你发现的@grayLighter在上面的代码中):

.input-append,
.input-prepend {
.add-on {
color: blue;
background-color: pink;
}
}

现在,我添加的颜色(蓝色)起作用了!这不是覆盖值,因为 forms.less 中的 .add-on 没有指定任何颜色。但正如您所看到的,它确实有一个背景颜色 (@grayLighter),我想改变它!你看我已经指定这个是粉红色的,但是它不起作用。我不明白这一点。有人可以帮帮我吗?

我在我的样式表中进一步使用这些 Less,如下所示:

div {
.input-prepend;
.form-search .input-prepend;

label {
.input-prepend > .add-on;
}
}

正如您在下图中看到的,粉红色背景颜色不起作用。

enter image description here

我检查了 LESS in CSS 的输出结果,并在其中写下了我的问题。我越深入研究这个问题就越不明白,一个代码笔示例确实显示粉红色作为背景,我认为它应该如何,请参见此处的工作示例:http://codepen.io/willemsiebe/pen/kvmic .

.input-append .add-on,
.input-prepend .add-on {
display: inline-block;
width: auto;
height: 24px;
min-width: 16px;
padding: 4px 5px;
font-size: 14px;
font-weight: normal;
line-height: 24px;
text-align: center;
text-shadow: 0 1px 0 #fff;
background-color: #eee; // FIRST MENTION BG COLOR IN FORMS.LESS
border: 1px solid #ccc;
}

.input-append .add-on,
.input-prepend .add-on {
color: blue;
background-color: pink; // SECOND MENTION BG COLOR IN MY OWN LESS FILE
}

// THIS IS HOW I REFERRED IT AS YOU CAN SEE IN MY TOPIC! BUT WHY IS BG COLOR PINK SHOWING UP BEFORE BG COLOR OF FORMS.LESS?

#woocommerce_product_search-3 #searchform div label {
color: blue;
background-color: pink; // WHY IS THIS SHOWING UP FIRST?
display: inline-block;
width: auto;
height: 24px;
min-width: 16px;
padding: 4px 5px;
font-size: 14px;
font-weight: normal;
line-height: 24px;
text-align: center;
text-shadow: 0 1px 0 #fff;
background-color: #eee; // WHY IS THIS SHOWING UP LAST?
border: 1px solid #ccc;
vertical-align: top;
-webkit-border-radius: 0;
-moz-border-radius: 0;
border-radius: 0;
margin-right: -1px;
margin-bottom: 0;
}

20-7-2014:好的,现在我真的很困惑!我没有直接用我自己的 style.less 覆盖它,而是将相同的代码放在不同的 less 文件中并使用 @import 导入它,现在它可以工作了......但是 CSS 中的输出完全相同,除了事实最后提到背景颜色 PINK!

.input-append .add-on,
.input-prepend .add-on {
display: inline-block;
width: auto;
height: 24px;
min-width: 16px;
padding: 4px 5px;
font-size: 14px;
font-weight: normal;
line-height: 24px;
text-align: center;
text-shadow: 0 1px 0 #fff;
background-color: #eee;
border: 1px solid #ccc;
}

.input-append .add-on,
.input-prepend .add-on {
color: blue;
background-color: pink;
}

#woocommerce_product_search-3 #searchform div label {
display: inline-block;
width: auto;
height: 24px;
min-width: 16px;
padding: 4px 5px;
font-size: 14px;
font-weight: normal;
line-height: 24px;
text-align: center;
text-shadow: 0 1px 0 #fff;
background-color: #eee;
border: 1px solid #ccc;
vertical-align: top;
-webkit-border-radius: 0;
-moz-border-radius: 0;
border-radius: 0;
margin-right: -1px;
color: blue;
background-color: pink; // NOW IT'S MENTIONED LAST!
margin-bottom: 0;
}

最佳答案

Twitter Bootstrap is ment to easily build on top of it.

这只适用于 mixins,另请参阅:Bootstrap 3 with LESS: how to handle bootstrap's nested rules?

您可以尝试使用 :extend() psuedo 类代替 mixins(仅适用于简单类),请参阅:http://lesscss.org/features/#extend-feature-combining-styles-a-more-advanced-mixin

设置 HTML 样式:

<form id="searchform">
<label>zoeken:</label>
<input type="text">
<input type="submit">
</form>

尝试以下 Less 代码:

@import "bootstrap.less";

#searchform {
&:extend(.input-prepend, input-append all);
margin-top:5px;
label {
&:extend(.input-prepend .add-on all);
color: blue;
background-color: pink;
}
input[type="text"] {
&:extend(.input-prepend input all, .input-append input all);
border-radius: 0;
}
input[type="submit"] {
&:extend(button all,.btn all,.input-append .add-on all);
height:30px;
}
}

关于css - 覆盖 Twitter Bootstrap Less 不起作用,添加新东西确实有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24692134/

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