Я делаю нижний колонтитул, где, если экран шире 815 пикселей, некоторые ссылки будут справа, но когда экран меньше 815 пикселей, я хочу, чтобы они располагались по центру в новой строке.
Я пытался сделать это с помощью запросов @media, а также искал решение, но пока не нашел подходящего.
Мой код CSS на данный момент:
footer {
padding: 25px;
}
footer #right {
float: right;
display: block;
}
@media screen and (max-width: 815px) {
footer {
width: 100%;
text-align: center;
}
footer #right {
float: left;
}
}
<footer>
<h3>© W<strong>3</strong>S • All Rights Reserved <span id = "right"><a href = "page/support/help_center.htm">Help Center</a> | <a href = "page/support/about.htm">About</a> | <a href = "page/blog/blog.htm">Blog</a></span></h3>
</footer>
Я пробовал использовать "width: 100%;", "float: center;" и многие другие, но ничего не получалось.
Какие-либо предложения?
Использование float
в настоящее время считается плохой практикой. Есть лучшие альтернативы, такие как flexbox
.
Забудьте float
s, используйте flexbox
, а также попробуйте использовать подход, ориентированный на мобильные устройства (min-width
)
footer {
text-align: center;
}
@media screen and (min-width: 816px) {
footer {
display: flex;
justify-content: space-between;
align-items: center;
}
}
<footer>
<h3>© W<strong>3</strong>S • All Rights Reserved</h3>
<span id = "right">
<a href = "page/support/help_center.htm">Help Center</a> |
<a href = "page/support/about.htm">About</a> |
<a href = "page/blog/blog.htm">Blog</a>
</span>
</footer>
float: none
Хотя я бы рекомендовал использовать display: flex
, как указано в ответ диппы, вот как вы можете это сделать, используя float
s.
footer {
padding: 25px;
}
footer #right {
float: right;
display: block;
}
@media screen and (max-width: 815px) {
footer {
/* Unnecessary, since footer normally has display: block
which is width: 100% by default */
/* width: 100%; */
text-align: center;
}
footer #right {
float: none;
width: 100%;
}
}
<footer>
<h3>© W<strong>3</strong>S • All Rights Reserved <span id = "right"><a href = "page/support/help_center.htm">Help Center</a> | <a href = "page/support/about.htm">About</a> | <a href = "page/blog/blog.htm">Blog</a></span></h3>
</footer>
Кроме того, использование подхода Mobile-first CSS для сокращения строк кода:
footer {
text-align: center;
padding: 25px;
}
footer #right {
display: block;
}
@media screen and (min-width: 815px) {
footer #right {
float: right;
}
}
<footer>
<h3>© W<strong>3</strong>S • All Rights Reserved <span id = "right"><a href = "page/support/help_center.htm">Help Center</a> | <a href = "page/support/about.htm">About</a> | <a href = "page/blog/blog.htm">Blog</a></span></h3>
</footer>
Существует исчезающе мало причин для использования
float
в 2022 году, и если вы проверите диапазон в инструментах разработки браузера, вы увидите, что правилоfloat
применяется в соответствии с медиа-запросом. Проблема в том, что float не делает того, что вы пытаетесь сделать.