#html #css #frontend #alignment #display
Вопрос:
Я работаю над созданием сайта электронной коммерции. Для нижнего колонтитула я хочу разместить название бренда электронной коммерции в левом верхнем углу, а ссылки на значки социальных сетей в правом верхнем углу.
Макет, который я хочу, выглядит следующим образом:
Однако нижний колонтитул в настоящее время выглядит следующим образом:
Вот что я закодировал.
.footer-top {
display: inline-block;
width: 100%;
}
.title {
float: left;
}
.social {
float: right;
}
<div class="footer-top">
<div class="name">
<h1><span class="bigger">XXXX</span></h1>
</div>
<div class="social">
<!--Social media icons-->
<a href="#" class="fa fa-facebook"></a>
<a href="#" class="fa fa-instagram"></a>
</div>
</div>
В чем моя ошибка?
Ответ №1:
Вы можете использовать display:flex;
для оформления навигационной панели. Скопируйте этот код и вставьте в свой CSS вместо предоставленного вами кода.
.footer-top {
display:flex;
justify-content:space-between;
align-items:center;
}
<div class="footer-top">
<div class="name">
<h1><span class="bigger">XXXX</span></h1>
</div>
<div class="social">
<!--Social media icons-->
<a href="#" class="fa fa-facebook">fb</a>
<a href="#" class="fa fa-instagram">insta</a>
</div>
</div>
Ответ №2:
Причина, по которой ваш макет оказался не таким, как вы ожидали, заключается в том, что у вас был .name
html, но .title
в css. Исправьте имя класса, и поплавки также будут работать. Также нет необходимости иметь display: inline-block
и width: 100%
. <div>
по умолчанию является блоком и занимает 100% ширины.
Тем не менее, с flex
его помощью легче выровнять контент по вертикали.
.title {
float: left;
}
.social {
float: right;
}
<div class="footer-top">
<div class="title">
<h1><span class="bigger">XXXX</span></h1>
</div>
<div class="social">
<!--Social media icons-->
<a href="#" class="fa fa-facebook">icon</a>
<a href="#" class="fa fa-instagram">icon</a>
</div>
</div>