#html #css #tailwind-css
Вопрос:
Я пытаюсь создать боковое меню с помощью CSS Tailwind. Но я не могу центрировать значок на той же высоте, что и текст LI-тега.
<ul id="sidemenu" class="text-center border-b-2 border-gray-200">
<li class="border-t-2 border-gray-200">
<div href="#" class="block cursor-pointer block py-3 relative">
<span class="">Title 1</span>
<svg xmlns="http://www.w3.org/2000/svg" class="h-4 w-4 absolute right-1 top-1/2" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7" />
</svg>
</div>
<ul class="bg-gray-50 border-t-2 border-gray-100">
<li class="py-2">Sub-Item-1</li>
<li class="py-2">Sub-Item-2</li>
<li class="py-2">Sub-Item-3</li>
</ul>
</li>
<li class="border-t-2 border-gray-200">
<span class=" block py-3 cursor-pointer">Title 2</span>
</li>
<li class="border-t-2 border-gray-200">
<span class=" block py-3 cursor-pointer">Title 3</span>
</li>
</ul>
Вот пример того, как это выглядит сейчас: https://jsfiddle.net/j6y3sznq/
Ответ №1:
В классе .top-1/2
отсутствует свойство transform, которое можно добавить transform: translateY(-50%)
, чтобы выровнять его по центру.
.top-1/2 {
transform: translateY(-50%);
}
Обновленная скрипка здесь
Решение второе: имя класса попутного ветра. Просто добавьте transform -translate-y-2/4
в элемент svg.
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/tailwindcss/2.2.15/tailwind.min.css">
<ul id="sidemenu" class="text-center border-b-2 border-gray-200">
<li class="border-t-2 border-gray-200">
<div href="#" class="block cursor-pointer block py-3 relative">
<span class="">Title 1</span>
<svg xmlns="http://www.w3.org/2000/svg" class="h-4 w-4 absolute right-1 top-1/2 transform -translate-y-2/4" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7" />
</svg>
</div>
<ul class="bg-gray-50 border-t-2 border-gray-100">
<li class="py-2">Sub-Item-1</li>
<li class="py-2">Sub-Item-2</li>
<li class="py-2">Sub-Item-3</li>
</ul>
</li>
<li class="border-t-2 border-gray-200">
<span class=" block py-3 cursor-pointer">Title 2</span>
</li>
<li class="border-t-2 border-gray-200">
<span class=" block py-3 cursor-pointer">Title 3</span>
</li>
</ul>
Обновленная скрипка здесь
Комментарии:
1. Спасибо! Это работает. Но это невозможно решить, используя только классы попутного ветра?
2. Почему нет. Я обновлю скрипку, просто дай мне минуту
3. Очень приятно, спасибо за решение с попутным ветром! Теперь я пойду и попытаюсь понять, почему это работает. 🙂
4. Всегда пожалуйста.. Попробуйте официальные документы для получения более подробной информации tailwindcss.com/docs/transform
5. Документы для перевода свойств tailwindcss.com/docs/translate