#html #css #twitter-bootstrap #bootstrap-4
Вопрос:
У меня есть проблема с CSS, скрывающая текст в моем боковом меню, и я оставляю потрясающие значки шрифтов в мобильном представлении, и я не могу придумать никакого разумного решения. Я использую bootstrap 4
Затем код моего бокового меню
<div class="sidebar">
<a class="active" href="#Link0"><i class="fas fa-walking"></i> Link0</a>
<a href="#link1"><i class="fas fa-users"></i> Link1</a>
<a href="#link2"><i class="fas fa-cog"></i> Link2</a>
<a href="#link3"><i class="fas fa-headset"></i> Link3</a>
</div>
Согласно руководству по начальной загрузке, я должен быть в состоянии скрыть любой элемент между любым подходящим тегом class="d-SM-none d-MD-block"
. Моя проблема в том, что я хочу, чтобы значок слева оставался видимым для мобильного просмотра и скрывал текст, но когда я помещаю текст между <div>
тегами, текст всегда появляется на одну строку ниже значка. Я попробовал <i> <p>
теги и все та же проблема, и, кстати, текст все равно не скрывается 😀
Любая помощь приветствуется!
Что я пробовал и не получилось:
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/css/bootstrap.min.css" integrity="sha384-TX8t27EcRE3e/ihU7zmQxVncDAy5uIKz4rEkgIXeMed4M0jlfIDPvg6uqKI2xXr2" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css" integrity="sha512-iBBXm8fW90 nuLcSKlbmrPcLa0OT92xO1BIsZ ywDWZCvqsWgccV3gFoRBv0z 8dLJgyAHIhR35VZc2oM/gI1w==" crossorigin="anonymous" />
<div class="sidebar">
<a class="active" href="#Link0"><i class="fas fa-walking"></i> <div class="d-sm-none d-md-block">Link0</div></a><!--Text is one line down from icon-->
<a href="#link1"><i class="fas fa-users"></i><p class="d-sm-none d-md-block"> Link1</p></a><!--Text is one line down from icon-->
<a href="#link2"><i class="fas fa-cog"></i> Link2</a>
<a href="#link3"><i class="fas fa-headset"></i> Link3</a>
</div>
Комментарии:
1. Извините, это немного сбивает с толку, так как мой английский не очень хорош… основная идея состоит в том, чтобы держать значок и текст рядом друг с другом, как и другие ссылки 2 и 3. это главная проблема
Ответ №1:
Скрытая часть работает нормально, проблема в том, что вы пытаетесь добавить некоторые элементы, которые отображаются по умолчанию с помощью блока ( div
, p
), поэтому замените их на span
.
Тогда не используйте класс d-md-block
, в a
котором вы находитесь, по умолчанию display: inline
. Поэтому вам следует использовать класс d-md-inline
.
Результат:
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/css/bootstrap.min.css" integrity="sha384-TX8t27EcRE3e/ihU7zmQxVncDAy5uIKz4rEkgIXeMed4M0jlfIDPvg6uqKI2xXr2" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css" integrity="sha512-iBBXm8fW90 nuLcSKlbmrPcLa0OT92xO1BIsZ ywDWZCvqsWgccV3gFoRBv0z 8dLJgyAHIhR35VZc2oM/gI1w==" crossorigin="anonymous" />
<div class="sidebar">
<a class="active" href="#Link0"><i class="fas fa-walking"></i> <span class="d-sm-none d-md-inline">Link0</span></a><!--Text is one line down from icon-->
<a href="#link1"><i class="fas fa-users"></i><span class="d-sm-none d-md-inline"> Link1</span></a><!--Text is one line down from icon-->
<a href="#link2"><i class="fas fa-cog"></i> Link2</a>
<a href="#link3"><i class="fas fa-headset"></i> Link3</a>
</div>