Переопределение стилей CSS виджета JQuery UI Tooltip
Я использую jQuery UI Виджет подсказки
<li>
<div class="i1">
<a href="#inf-1"title="ΕΝΤΟΠΙΣΜΟΣ">
<span class="ui-icon ui-icon-search"></span>
</a>
</div>
</li>
<li><a href="#inf-2"title="ΠΛΗΡΟΦΟΡΙΕΣ"><span class="ui-icon ui-icon-info"></span></a></li>
<li><a href="#inf-3"title="ΕΠΙΠΕΔΑ"><span class="ui-icon ui-icon-copy"></span></a></li>
и я написал следующий CSS на основе их примера, и он работает как шарм:
.tooltip {
display:none;
background: black;
font-size:12px;
height:10px;
width:80px;
padding:10px;
color:#fff;
z-index: 99;
bottom: 10px;
border: 2px solid white;
/* for IE */
filter:alpha(opacity=80);
/* CSS3 standard */
opacity:0.8;
}
Но у меня есть 3-4 подсказки, которые я хочу посмотреть по-другому (например, пример html выше), поэтому я завернул их внутри класса
и сделал это:
.i1 .tooltip {
display:none;
background: red;
font-size:12px;
height:40px;
width:80px;
padding:20px;
color:#fff;
z-index: 99;
bottom: 10px;
left: 50px important!;
border: 2px solid white;
/* for IE */
filter:alpha(opacity=80);
/* CSS3 standard */
opacity:0.8;
}
который абсолютно ничего не делает. Как я могу переопределить общий .tooltip для настройки определенных всплывающих подсказок по-разному?
Заранее спасибо
Ответы
Ответ 1
Для тех, кто хочет применить пользовательский класс к новому виджету tooltip (jQuery UI 1.9.1), extraClass больше не работает, но есть новая опция, называемая tooltipClass.
$('.selector').tooltip({
tooltipClass: "your_class-Name",
});
Чтобы устранить потенциальные конфликты с jQuery css, вам может потребоваться добавить !important
в конец строк в вашем css. Благодаря @sisharp для указания на то, что: -)
Ответ 2
Пытаясь опираться на отличный ответ выше, я пытался создать пузырь и избавиться от старого...
Если вы новичок, как я (в других, простая задача занимает много часов), приятно иметь ответ в одно и то же время на одном месте:)
Вот решение из нескольких источников, включая этот вопрос:
<a href="#" title="We are trying hard" class="mytooltip"><span title="">BETA</scan></a>
Пробел удаляет пузырь браузера.
CSS для нового пузыря в качестве примера:
.mytooltip:hover:after{
background: #333;
background: rgba(0,0,0,.9);
border-radius: 5px;
bottom: 26px;
color: rgb(255, 77, 85);
content: attr(title);
right: 20%;
padding: 5px 15px;
position: absolute;
z-index: 98;
width: 220px;}
.mytooltip:hover:before{
border: solid;
border-color: #333 transparent;
border-width: 6px 6px 0 6px;
bottom: 20px;
content: "";
right: 50%;
position: absolute;
z-index: 99;
}
.mytooltip {
radius: 4px !important;
background-color: black;
color: rgb(255, 77, 85) !important;
padding: 5px 20px;
border-radius: 20px;
margin: 50px;
text-align: center;
font: bold 14px ;
font-stretch: condensed;
text-decoration: none;
box-shadow: 0 0 10px black;
}
И упомянутый выше script, вставленный в нижний колонтитул:
<script>
$('.selector').tooltip({
tooltipClass: "mytooltip",
});
</script>
Спасибо этому вопросу, this, и я забыл другой источник.
Ответ 3
Я попробовал все варианты выше, и никто не работал у меня.
Я просмотрел подсказку options docs, которая связана с этой статьей о , после прочтения я пробовал это, что сработало:
$('#my_selectr').tooltip({"classes": {"ui-tooltip": "my-custom-class-name", "ui-tooltip-content": "my-custom-class-name-content"}})
Затем просто добавьте 2 класса CSS с вашим стилем:
my-custom-class-name {
...
}
my-custom-class-name-content {
...
}
Обратите внимание, что вам, возможно, придется использовать! важно в ваших пользовательских классах.
Ответ 4
Фактически его
$( ".selector" ).tooltip( "option", "tooltipClass", "custom-tooltip-styling" );
Смотрите здесь