2016-12-13 2 views
0

У меня есть простой html-код, и я хочу изменить тег h3 на: hover, но без какого-либо влияния на интервал внутри него.Как изменить элемент при наведении курсора, не изменяя интервал внутри?

Я попытался установить H3: наведите курсор на текст-украшение: подчеркивание и H3: диапазон наведения на текст-украшение: нет, но он все еще подчеркивает пролет.

h3 span { 
 
    color: #676767; 
 
    padding-left: 10px; 
 
} 
 

 
h3 { 
 
    font: 22px/26px Arial, Helvetica, sans-serif; 
 
    color: #ee0000; 
 
    margin: 10px 0; 
 
} 
 

 
.content:hover h3 { 
 
    text-decoration: underline; 
 
    cursor: pointer; 
 
} 
 

 
.content:hover h3 span { 
 
    padding-left: 20px; 
 
    text-decoration: none; 
 
}
<div class="content"> 
 
    <h3>Some H3 title<span class='arrow'>></span></h3> 
 
</div>

Почему и что это лучший способ, чтобы обойти?

+0

просто оберните свой внутренний текст, который вы хотите создать в определенном диапазоне. –

+1

Почему в первую очередь находится пролет внутри h3? Используйте h3: после этого. – Lain

+0

Это не подчеркивает пролет. Ваш диапазон просто не обертывает что-либо, поэтому вы не видите эффект. – Ryan

ответ

2

попробуйте это !!!

h3 span { 
 
    color: #676767; 
 
    padding-left: 10px; 
 
} 
 

 
h3 { 
 
    font: 22px/26px Arial, Helvetica, sans-serif; 
 
    color: #ee0000; 
 
    margin: 10px 0; 
 
} 
 

 
.content:hover h3 { 
 
    text-decoration: underline; 
 
    cursor: pointer; 
 
} 
 

 
.content:hover h3 span { 
 
    padding-left: 20px; 
 
    text-decoration: none; 
 
    display:inline-block; 
 
}
<div class="content"> 
 
    <h3>Some H3 title<span class='arrow'>></span></h3> 
 
</div>

3

Просто оберните внутренний текст в промежутке и дайте ему класс.

h3 span { 
 
    color: #676767; 
 
    padding-left: 10px; 
 
} 
 

 
h3 { 
 
    font: 22px/26px Arial, Helvetica, sans-serif; 
 
    color: #ee0000; 
 
    margin: 10px 0; 
 
} 
 

 
.content:hover h3 span.text { 
 
    text-decoration: underline; 
 
    cursor: pointer; 
 
} 
 

 
.content:hover h3 span.arrow { 
 
    padding-left: 20px; 
 
}
<div class="content"> 
 
    <h3><span class="text">Some H3 title</span><span class='arrow'>></span></h3> 
 
</div>

0

В вашем случае, вы можете стиль пядь специально, чтобы никогда не подчеркивание:

h3 span { 
    text-decoration:none !important; 
} 
+0

, это не работает. попробуй. – andi

+0

Вы пробовали! Важно? – ntgCleaner

+0

тоже не работает. вы попробовали это в реальной скрипке или фрагменте? – andi

2

Используйте другой <span> для текста, например:

<div class="content"> 
    <h3><span class="text">Some H3 title</span><span class='arrow'>></span></h3> 
</div> 

Затем примените текст-украшение на .text только.

Посмотри на ниже фрагменте коды:

h3 .arrow { 
 
    color: #676767; 
 
    padding-left: 10px; 
 
} 
 

 
h3 .text { 
 
    font: 22px/26px Arial, Helvetica, sans-serif; 
 
    color: #ee0000; 
 
    margin: 10px 0; 
 
} 
 

 
h3 .text { 
 
    color: red; 
 
} 
 

 
.content h3 { 
 
    cursor: pointer; 
 
} 
 

 
.content:hover h3 .text { 
 
    text-decoration: underline; 
 
    cursor: pointer; 
 
} 
 

 
.content:hover h3 .arrow { 
 
    padding-left: 20px; 
 
    text-decoration: none; 
 
}
<div class="content"> 
 
    <h3><span class="text">Some H3 title</span><span class='arrow'>></span></h3> 
 
</div>

Надеется, что это помогает!

1

Ответ обновлен

Вы можете установить поверочного элемент display: inline-block, и он не будет принимать на эффект парения.

Как это:

h3 span { 
 
    color: #676767; 
 
    padding-left: 10px; 
 
    display: inline-block; 
 
} 
 

 
h3 { 
 
    font: 22px/26px Arial, Helvetica, sans-serif; 
 
    color: #ee0000; 
 
    margin: 10px 0; 
 
} 
 

 
.content:hover h3{ 
 
    text-decoration: underline; 
 
    cursor: pointer; 
 
} 
 

 
.content:hover span { 
 
    padding-left: 20px; 
 
}
<div class="content"> 
 
    <h3>Some H3 title<span class="arrow">></span></h3> 
 
</div>

Благодаря Andi за указание на это в комментарии ниже.

+1

': not (span)' на самом деле ничего не делает. который просто выбирает h3, который не является диапазоном (т. е. любым h3). '.content: hover h3: not (span)' это то же самое, что и запись '.content: hover h3' – andi

+0

@andi хорошая точка! Таким образом, это работает, устанавливая диапазон на встроенный блок? – sol

+0

Да ... хотя я не совсем уверен, что это за механика. – andi

Смежные вопросы