#javascript #html #css #hover
Вопрос:
Я создаю клон Netflix просто как личный проект.
В разделе «Профили Netflix» при наведении курсора выделяются граница вокруг изображения и имя пользователя.
Когда я пытаюсь использовать свой код при наведении курсора, граница и текст меняются отдельно. Я пробовал несколько способов в течение чуть более часа, но безуспешно. Я знаю, что мне не хватает чего-то упрощенного и, вероятно, чрезмерно продуманного, но я не уверен, как подойти к этому, создаю ли я функцию JavaScript, возможно, или в CSS. (Я борюсь с добавлением JS в свои проекты, поэтому я создаю этот клон!)?
Советы или подсказки были бы потрясающими, так как я все еще пытаюсь решить эту проблему
body, html {
height: 100%;
margin: 0px;
margin-top: -11px;
margin-left: 22.5px;
padding: 0px;
color: white;
font-family: 'Roboto', sans-serif;
background-color: rgb(17, 17, 17);
}
.container {
text-align: center;
position: relative;
top: 10%;
}
/*
----------------
PROFILES SECTION
----------------
*/
.profiles {
margin: 20px;
padding: 20px;
display: flex;
justify-content: center;
}
.prfImg {
margin: -6px;
padding: 12px;
}
.prfImg > img {
margin: 2px;
padding: 2px;
border: 0.5px solid rgba(255, 255, 255, 0.061);
border-radius: 3px;
}
.prfImg > img:hover {
color: rgba(255, 255, 255, 0.787);
border: 3px solid rgba(255, 255, 255, 0.787);
border-radius: 3px;
}
#user {
font-size: 25px;
color: grey;
}
/*
----------------
BUTTON
----------------
*/
.btn {
margin: 30px;
padding: 30px;
text-align: center;
}
button {
margin-top: 30px;
font-size: 22px;
color: grey;
padding: 10px;
background-color: transparent;
border: 1.5px solid grey;
}
button:hover {
color: rgba(255, 255, 255, 0.863);
border: 1.5px solid rgba(255, 255, 255, 0.863);
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="profiles.css">
<!-- google font -->
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300amp;display=swap" rel="stylesheet">
<title>NETFLIX - Profiles</title>
</head>
<body>
<header>
<img src="Img_d.profiles/netflix_logo.png" alt="netflix logo TM" width="99.2px">
</header>
<div class="container">
<div class="header-text">
<h1 style="font-size: 50px;">Who's watching?</h1>
</div>
<div class="profiles">
<div class="prfImg">
<img src="Img_d.profiles/profile_one.png" alt="Profile One" width="75%" label="hello">
<p class="prfImg" id="user">A name</p>
</div>
<div class="prfImg">
<img src="Img_d.profiles/profile_two.png" alt="Profile Two" width="75%">
<p class="prfImg" id="user">A name</p>
</div>
<div class="prfImg">
<img src="Img_d.profiles/profile_three.png" alt="Profile Three" width="75%">
<p class="prfImg" id="user">A name</p>
</div>
<div class="prfImg">
<img src="Img_d.profiles/profile_four.png" alt="Profile Foud" width="75%">
<p class="prfImg" id="user">A name</p>
</div>
</div>
<!-- button class -->
</div>
<div class="btn">
<button>Manage Profiles</button>
</div>
</body>
</html>
сам по себе!*
Комментарии:
1. Для меня это, кажется, отлично работает с фрагментом кода, которым вы поделились. Разве это не работает с реальными изображениями (фрагмент кода вместо этого был с текстом alt)?
Ответ №1:
Вы можете поместить событие наведения в родительский раздел.
Измените это:
.prfImg > img:hover {
color: rgba(255, 255, 255, 0.787);
border: 3px solid rgba(255, 255, 255, 0.787);
border-radius: 3px;
}
к этому
.prfImg:hover {
color: rgba(255, 255, 255, 0.787);
border: 3px solid rgba(255, 255, 255, 0.787);
border-radius: 3px;
}
Комментарии:
1. Я попытался, но он завис на границе между изображением и текстом. Я пытаюсь оглянуться назад и посмотреть, может быть, мой HTML был сделан неправильно, что привело к искажению кода CSS?
2. @ZiPage измените имя класса
p
на что-то другое. НравитсяprfImg-text