Я хочу использовать значки социальных сетей и пытаюсь добавить пространство между ними. Затем я добавил ul
и установил для каждого li
другой класс. Я знаю, что есть более простой способ сделать это, используя ссылку fontawesome
и значки, но я просто хотел посмотреть, работает ли этот способ, я новичок, я только начал программировать 2 недели назад.
Я пробовал light-height
и ничего не происходит:
<div class = "container2">
<ul class = "contact1">
<li class = "contact2"><img src = "facebook.png" alt = "facebook" class = "facebook"> </li>
<li class = "contact3"><img src = "twitter.png" alt = "twitter" class = "twitter"> </li>
<li class = "contact4"><img src = "instagram.png" alt = "instagram" class = "instagram"> </li>
<li class = "contact5"><img src = "twitch.png" alt = "twitch" class = "twitch"> </li>
</ul>
</div>
.contact1 {
position: absolute;
display: flex;
margin: 0;
padding: 0;
top: 50%;
left: 50%;
transform: translate(-50%.-50%)
}
.contact1, .contact2, .contact3, .contact4, .contact5 {
list-style: none;
border: none;
position: relative;
line-height: 50px;
}
Я бы рекомендовал просто установить margin-left
на каждый .contact
, который не является первым.
Этого можно добиться гораздо проще, если присвоить каждому элементу класс такой же из .contact
, а затем использовать псевдоселектор :not
в сочетании с псевдоселектором :first-of-type
. Это можно увидеть в следующем:
.contact-container {
position: absolute;
display: flex;
margin: 0;
padding: 0;
top: 50%;
left: 50%;
transform: translate(-50%.-50%)
}
.contact-container,
.contact {
list-style: none;
border: none;
position: relative;
line-height: 50px;
}
.contact:not(:first-of-type) {
margin-left: 20px;
}
<ul class = "contact-container">
<li class = "contact"><img src = "https://placehold.it/100" alt = "facebook" class = "facebook"> </li>
<li class = "contact"><img src = "https://placehold.it/100" alt = "twitter" class = "twitter"> </li>
<li class = "contact"><img src = "https://placehold.it/100" alt = "instagram" class = "instagram"> </li>
<li class = "contact"><img src = "https://placehold.it/100" alt = "twitch" class = "twitch"> </li>
</ul>
Если вы просто хотите добавить пространство, вы можете сделать это с помощью flex box justify-content:space-around
и я отредактировал ваш transform: translate(-50%, -50%);
в .contact1
см. этот фрагмент ниже
.contact1 {
position: absolute;
display: flex;
justify-content:space-around;
margin: 0;
padding: 0;
top: 50%;
left: 50%;
transform: translate(-50% , -50%);
}
.contact1, .contact2, .contact3, .contact4, .contact5 {
list-style: none;
border: none;
position: relative;
line-height: 50px;
}
<div class = "container2">
<ul class = "contact1">
<li class = "contact2"><img src = "facebook.png" alt = "facebook" class = "facebook"> </li>
<li class = "contact3"><img src = "twitter.png" alt = "twitter" class = "twitter"> </li>
<li class = "contact4"><img src = "instagram.png" alt = "instagram" class = "instagram"> </li>
<li class = "contact5"><img src = "twitch.png" alt = "twitch" class = "twitch"> </li>
</ul>
</div>
Я рекомендую использовать правильный способ классов в html/css
Вот HTML
<div class = "container2">
<ul>
<li><img src = "facebook.png" alt = "facebook" class = "facebook"> </li>
<li><img src = "twitter.png" alt = "twitter" class = "twitter"> </li>
<li><img src = "instagram.png" alt = "instagram" class = "instagram"> </li>
<li><img src = "twitch.png" alt = "twitch" class = "twitch"> </li>
</ul>
</div>
Вот CSS:
.container2 ul{
position: absolute;
display: flex;
justify-content:space-around;
margin: 0;
padding: 0;
top: 50%;
left: 50%;
transform: translate(-50% , -50%);
}
.container2 ul li{
list-style: none;
border: none;
position: relative;
line-height: 50px;
}