我想在Bootstrap中将自定义CSS应用于popover的标题和内容,但是,似乎我的CSS被忽略了。
如何将特定的CSS分别应用于标题和内容?
$("#poplink").popover({
html: true,
placement: "right",
trigger: "hover",
title: function () {
return $(".pop-title").html();
},
content: function () {
return $(".pop-content").html();
}
});
html, body {
width: 100%;
height: 100%;
}
.pop-div {
font-size: 13px;
margin-top: 100px;
}
.pop-title {
display: none;
color: blue;
font-size: 15px;
}
.pop-content {
display: none;
color: red;
font-size: 10px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<div class="pop-div">
<a id="poplink" href="javascript:void(0);">Pop</a>
<div class="pop-title">Title here</div>
<div class="pop-content">Content here</div>
</div>
答案 0 :(得分:64)
原因似乎是javascript正在创建全新的元素来显示popover本身。这些新元素具有与原始元素不同的css类名。
尝试将此添加到您的css:
.popover-title {
color: blue;
font-size: 15px;
}
.popover-content {
color: red;
font-size: 10px;
}
更新
根据您使用的库版本,名称可能不同。如果上述操作无效,请尝试使用.popover-header
和.popover-body
代替。
答案 1 :(得分:6)
新创建的元素具有以下层次结构:
.popover
|_ .popover-title
|_ .popover-content
在触发弹出窗口的元素之后注入(您可以通过设置container
选项为注入的弹出窗口指定特定容器,在这种情况下,您将使用作为容器传递的元素设置样式)。因此,要设置popover的样式,您可以使用css,如下例所示:
<div id="my-container">
<a href="#" id="popover-trigger">Popover This!</a>
</div>
<style>
.popover-title { color: green; } /* default title color for all popovers */
#my-container .popover-title { color: red; } /* specific popover title color */
</style>
答案 2 :(得分:6)
如果您的网页上有多个弹出式窗口,并且只想设置其中一个,则可以使用popover的template
选项添加另一个类:
$("#myElement").popover({
template: '<div class="popover my-specific-popover" role="tooltip">...'
});
我首先使用docs中template
的默认值,然后将my-specific-popover
添加到类属性中。
答案 3 :(得分:0)
正如 Matt 之前所说,这可能取决于引导程序版本,对于 v4.6,您应该这样做:
.popover{
background-color: red;
}
.popover-header {
color: red;
}
.popover-body {
color: blue;
}