#html #css #button
#HTML #css #кнопка
Вопрос:
Я хочу, чтобы при наведении, активном и посещаемом изображение менялось на другое изображение любым способом?
Теперь я помещаю изображение под фоном, потому что, когда я помещаю изображение, слово опускается, я хочу, чтобы слово перекрывало изображение, но не могу…
если можете, пожалуйста, объясните, почему нужно так стилизовать … я просто учусь использовать html, поэтому хочу больше узнать об этом, спасибо
<div class="navBar" style="margin-left:80px;padding-top:40px;"><!--navBar-->
<div id="navbar" >
<div id="navhome" style="width:100px;height:60px; padding-top:30px; padding-left:10px"> <a href="index.html">HOME</a> </div>
</div>
<div id="navbar">
<div id="navhistory" style="width:130px;height:60px; padding-top:30px; padding-left:10px;"> <a href="about.html">ABOUT US</a> </div>
</div>
<div id="navbar">
<div id="navevent" style="width:130px;height:60px; padding-top:30px; padding-left:10px"> <a href="event_1.html">EVENT</a> </div>
</div>
<div id="navbar">
<div id="navcontact" style="width:130px;height:60px; padding-top:30px;"> <a href="contact.html">CONTACT US</a> </div>
</div>
</div>
<!--navBar-->
css:
.navBar {
font-family: KaiTi;
font-size: 22px;
color: #6c2e13;
text-align: center;
float: left;
}
#navbar {
float: left;
margin-right: 5px;
margin-left: 5px;
}
#navhistory {
background-image: url(../img/nav2.png);
background-repeat: no-repeat;
}
#navevent {
background-image: url(../img/nav3.png);
background-repeat: no-repeat;
}
#navcontact {
background-image: url(../img/nav4.png);
background-repeat: no-repeat;
}
#navhome {
background-image: url(../img/nav1.png);
background-repeat: no-repeat;
}
Комментарии:
1. В любом случае, не стилизуйте элементы непосредственно в
html
, когда вы используете внешнийcss
файл — и это хорошо. Не должно быть больше элементов с одинаковымid
значением, поскольку is = identifier — он должен быть уникальным.2. Если вы хотите иметь больше элементов с тем же стилем, используйте
class
вместо этого.
Ответ №1:
Первым делом, если вы хотите применить активные, посещенные стили, вам нужно применить фоновые изображения к тегу привязки. Так что вы можете легко обновить фоновое изображение с помощью CSS. В настоящее время вы применяете фон для div. Это означает, что вы хотите изменить родительский элемент при наведении курсора, активных или посещенных действиях. Используя CSS, из дочернего элемента вы не можете изменить родительский элемент.
Итак, проверьте мою скрипку, я изменил ваш код и применил то же самое при наведении курсора, посещении и активных действиях.
Некоторый пример кода:
#navhistory a{
background-image: url(http://www.w3.org/TR/2011/WD-css3-images-20110217/linear3.png);
background-repeat: no-repeat;
padding:0px 50px;
display:inline-block;
height:60px;
line-height:60px;
white-space:nowrap;
}
#navevent a{
background-image: url(http://www.w3.org/TR/2011/WD-css3-images-20110217/radial1.png);
background-repeat: no-repeat;
padding:0px 50px;
display:inline-block;
height:60px;
line-height:60px;
white-space:nowrap;
}
#navcontact a{
background-image: url(http://www.w3.org/TR/2011/WD-css3-images-20110217/linear1.png);
background-repeat: no-repeat;
padding:0px 50px;
display:inline-block;
height:60px;
line-height:60px;
white-space:nowrap;
}
#navhome a{
background-image: url(http://www.w3.org/TR/2011/WD-css3-images-20110217/radial3.png);
background-repeat: no-repeat;
padding:0px 50px;
display:inline-block;
height:60px;
line-height:60px;
white-space:nowrap;
}
Ответ №2:
Если вы хотите эффект наведения, используйте :hover
psaudo-class для этого элемента и просто измените фоновое изображение. JSFiddle
.button {
background: url(../img/nav1.png) no-repeat;
}
.button:hover{
background: url(../img/nav1_hover.png) no-repeat;
}
Обратите ВНИМАНИЕ: не стилизуйте элементы напрямую (напрямую записывая в style
атрибут. Поскольку у вас есть повторяющиеся элементы, используйте class='someClass subclass sub-subclass'
, а не просто применяйте стиль в .css
файле ко всем элементам с этим классом:
.someClass {
width: 10px;
height: 20.5%;
padding: 0;
margin: .5em;
}
.someClass.even {
color: red;
}
.someClass.odd {
color: green;
}