Я пытаюсь создать панель для значков социальных сетей, которая выглядит так:
Но я действительно застрял.
Я попытался создать его так:
<div class="social-media">
<ul>
<li class="facebook">facebook</li>
<li class="instagram">instagram</li>
<li class="twitter">twitter</li>
<li class="youtube">youtube</li>
</ul>
</div>
.social-media ul li {
display: inline-block;
}
.social-media ul li.facebook:after {
content: url('../images/facebooklogo.png');
width: 21px;
height: 21px;
}
И так далее для каждого класса li.class
Но проблема заключалась в том, что изображения игнорировали указанную здесь ширину и высоту и были огромными. Я просто не мог настроить их
Во-вторых, я не знал, как сделать их целыми кликабельными, когда я пытался использовать тег "a", он не нацеливал изображение, указанное ли: после этого только текст внутри li
Неужели я просто ошибаюсь? лучше ли использовать кучу вложенных divs и использовать onclick, чтобы сделать все это ссылкой?
Любая помощь будет отличной, я очень смущен.
Я бы использовал <li><a class="facebook" href="thisIsYourFacebookPage.html">My Facebook page</a></li>
И дайте изображение, которое вы хотите, с помощью
a.facebook:before {
background: url("to/the/path/to/my/image");
width: 21px;
height: 21px;
display: inline-block;
content: " ";
}
Вот так: http://jsfiddle.net/gVp2P/1/
Вы должны также рассматривать значки как шрифт вместо изображений.
Причина в том, что они масштабируются лучше, выглядят очень красиво, даже если ваши пользователи увеличивают или используют дисплеи сетчатки, и вы можете просто добавить цвета css, тени и т.д. Так же, как вы будете стилизовать свой текст.
читайте здесь: http://icomoon.io/
Насколько я знаю, вы не можете указать URL-адрес для контента. Но здесь вам не нужно использовать псевдоэлементы. Просто укажите фоновое изображение каждого <li>
.social-media ul li{
display:inline-block;
width: 21px;
height: 21px;
}
.social-media ul li.facebook {
background-image: url('../images/facebooklogo.png');
}
Если вы хотите, чтобы они были кликабельными ссылками, вам действительно даже не нужна ul li
. Просто используйте <a>
напрямую, дайте ему класс, facebook, linkedin и т.д., А затем следующий CSS.
.social-media a {
display:inline-block;
width: 21px;
height: 21px;
}
.social-media a.facebook {
background-image: url('../images/facebooklogo.png');
}