#html #css
#HTML #css
Вопрос:
Я хочу, чтобы при наведении курсора мыши на мои логотипы появлялась классная «тень», но это не работает. Я добавил некоторый тип границы, чтобы при наведении курсора на нее она появлялась, но только по краям, я использовал z-index: -1; , чтобы мои логотипы появлялись вместо границы, а затем с преобразованием, когда я наведу курсор на логотипы, граница отодвинется в сторону, но это не работает.
HTML
<footer>
<ul class = "bottom">
<li><a href = "https://www.facebook.com" target="_blank"><i class = "fa fa-facebook"></i></a>
</li>
<li><a href = "#" target="_blank"><i class = "fa fa-twitter"></i></a></li>
<li><a href = "#" target="_blank"><i class = "fa fa-youtube"></i></a></li>
<li><a href = "#" target="_blank"><i class = "fa fa-instagram"></i></a></li>
</ul>
</footer>
CSS
footer{
width: 100%;
display: block;
padding: 50px 0;
background-color: #262626;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
}
.bottom{
list-style: none;
display: flex;
}
.bottom li{
position: relative;
display: block;
font-size: 30px;
height: 60px;
width: 60px;
border-radius: 50%;
background: black;
line-height: 60px;
margin: 0 15px;
cursor: pointer;
}
.bottom li a{
color: #666;
}
.bottom li:before{
position: absolute;
content: '';
top: 0;
left: 0;
background: #d35400;
height: 100%;
width: 100%;
border-radius: 50%;
z-index: -1;
transition: .5s;
transform: scale(0.9);
}
.bottom li a:hover:before{
transform: scale(1.2);
box-shadow: 0 0 15px #d35400;
}
Ответ №1:
Трудно точно понять, каким вы хотите видеть свой конечный результат, это близко?
* {
box-sizing: border-box;
}
footer {
width: 100%;
display: block;
padding: 50px 0;
background-color: #262626;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
}
.bottom {
list-style: none;
display: flex;
}
.bottom li {
position: relative;
display: flex;
font-size: 30px;
height: 60px;
width: 60px;
border-radius: 50%;
background: black;
line-height: 60px;
margin: 0 15px;
transition: all 0.2s ease;
cursor: pointer;
justify-content: center;
align-items: center;
}
.bottom li a {
color: #666;
display: flex;
text-decoration: none;
}
.bottom li:hover {
transform: scale(1.2);
box-shadow: 0 0 15px #d35400;
border: 2px solid #d35400;
}
<link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" />
<footer>
<ul class="bottom">
<li><a href="https://www.facebook.com" target="_blank"><i class = "fa fa-facebook"></i></a>
</li>
<li><a href="#" target="_blank"><i class = "fa fa-twitter"></i></a></li>
<li><a href="#" target="_blank"><i class = "fa fa-youtube"></i></a></li>
<li><a href="#" target="_blank"><i class = "fa fa-instagram"></i></a></li>
</ul>
</footer>
Ответ №2:
Ваш стиль включен, .bottom li::before {
таким .bottom li
образом, это то, что вы хотите активировать при наведении курсора мыши.
.bottom li:hover{
transform: scale(1.2);
box-shadow: 0 0 15px #d35400;
}
https://jsfiddle.net/42w7hgo6/3/
Обратите внимание, что у вас есть два display
в .footer и before
для CSS3 имеет два двоеточия: ::before
Комментарии:
1. Это близко, но не то, что я хочу. Цвет, который я получаю внутри границы, я хочу, чтобы он был снаружи, а не просто в тени окна. А затем внутри я постараюсь, чтобы логотип (f, youtube, Twitter) также осветлялся при наведении курсора мыши.
2. Я обновил ссылку. Не уверен, что понимаю, поэтому я удалил оранжевый цвет внутри поля. Тогда вы хотите осветлить логотип? Я добавил белый цвет к логотипу.
Ответ №3:
При этом используется окно-тень при наведении. Таким образом, поле будет выделяться при наведении курсора мыши на поле.
CSS
.bottom {
transition: box-shadow .3s;
width: 300px;
height: 500px;
margin: 50px;
border-radius:10px;
border: 1px solid #ccc;
background: #fff;
float: left;
}
.bottom:hover {
box-shadow: 0 0 11px rgba(33,33,33,.2);
}
Комментарии:
1. при публикации кода, пожалуйста, используйте фрагмент кода, когда это возможно. это намного чище на вид, и вы даже можете запустить код на этом веб-сайте вместо копирования в любую используемую вами программу и запускать его там.
2. Хорошо, отмечено. Я впервые отвечаю в StackOverflow