блог:https://www.mintimate.cn Mintimate’s Блог, просто чтобы поделиться с вами
Фреймворк внешнего интерфейса страниц развивается очень быстро. В эпоху, когда передняя и задняя части не были разделены, мы часто упоминали архитектуру MVC. Однако в чистом мире внешнего интерфейса HTML, CSS и JavaScript также можно рассматривать как аналогичную многоуровневую структуру, которая образует структурный уровень, уровень стиля и уровень взаимодействия. Аналогия следующая:
«Три мушкетера» совместными усилиями построили большой дом на переднем конце страницы:
Конечно, написать CSS и JavaScript с нуля для каждого проекта явно нереально, да и не способствует унификации стиля и стиля системы, да и дальнейшее сопровождение тоже будет «ненужным».
Поэтому мы обычно инкапсулируем стили в библиотеки стилей, чтобы облегчить наши прямые последующие вызовы. Например, используйте
Конечно, сейчас и в 2023 году я рекомендую попробовать использовать:
Прежде всего, следует отметить ⚠️: Tailwind CSS не использует для написания традиционные правила CSS, а использует метод «сначала утилита», основанный на классах.
Метод Utility-first на основе классов относится к построению компонентов высокого уровня и структур страниц путем объединения большого количества служебных классов низкого уровня, а не к непосредственному написанию правил стиля с помощью селекторов и других методов. Подобно тому, как нам нужна корзина с фруктами, а эта корзина с фруктами состоит из множества разных фруктов 🍅.
Думайте о CSS как о наборе многократно используемых «инструментов» или модулей стилизации.,Каждый класс соответствует только определенному эффекту стиля.,Можно настроить одновременно,например:Я определяю текущую страницуbg-blue-500
Соответствующий цвет можно настроить как yellow
,Подобно тому, как когда кого-то отдаешь,Отправьте две корзины с фруктами,Хочу положить зеленые яблоки в корзину с фруктами🍏,Другой хочет положить красные яблоки 🍎.
По этой причине TailwindCSS необходимо скомпилировать:
Это гарантирует, что Tailwind CSS можно гибко настраивать, а эффективность вывода также высока.
TailwindCSS поддерживает атомарные операции с момента своего выпуска. Конечно, TailwindCSS также постоянно развивается. Среди них: V2.0, V3.0 и теперь V3.3 — относительно большие версии.
См. адрес выпуска журнала обновлений.:https://tailwindcss.com/blog/tailwindcss-v2
Дело в следующем:
@apply
Представьте другие атомарные стили, чтобы создать свой собственныйCSSстиль;其实最重要的是поддерживать@apply
построить свой собственныйCSSстиль:
// Семантически создать стиль кнопки
.btn {
@apply bg-indigo-500 hover:bg-indigo-600 focus:ring-2 focus:ring-indigo-200 focus:ring-opacity-50;
}
Также есть поддержка темных меток:
<div class="bg-white dark:bg-black">
<h1 class="text-gray-900 dark:text-white">Dark mode</h1>
<p class="text-gray-500 dark:text-gray-300">
Это позволяет нам переключать стили в зависимости от того, содержит ли HTML верхнего уровня наш темный логотип.
</p>
</div>
См. адрес выпуска журнала обновлений.:https://tailwindcss.com/blog/tailwindcss-v3
3.0, наиболее важные особенности:
После запуска скорость запуска проекта значительно увеличивается.
Собственно, преимущества и особенности,Уже упоминалось выше,Вот небольшой подведение итогов:
Как упоминалось ранее, TailwindCSS — это типичный атомарный CSS (Atomic). По сравнению с традиционным семантическим CSS (Semantic), он все же имеет некоторые характеристики и различия.
Возьмите официальный сайт в качестве примера и разработайте подсказку для сообщения:
Если вы используете семантическую разработку, код может выглядеть так:
<div class="chat-notification">
<div class="chat-notification-logo-wrapper">
<img class="chat-notification-logo" src="/img/logo.svg" alt="ChitChat Logo">
</div>
<div class="chat-notification-content">
<h4 class="chat-notification-title">ChitChat</h4>
<p class="chat-notification-message">You have a new message!</p>
</div>
</div>
<style>
.chat-notification {
display: flex;
max-width: 24rem;
margin: 0 auto;
padding: 1.5rem;
border-radius: 0.5rem;
background-color: #fff;
box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}
.chat-notification-logo-wrapper {
flex-shrink: 0;
}
.chat-notification-logo {
height: 3rem;
width: 3rem;
}
.chat-notification-content {
margin-left: 1.5rem;
padding-top: 0.25rem;
}
.chat-notification-title {
color: #1a202c;
font-size: 1.25rem;
line-height: 1.25;
}
.chat-notification-message {
color: #718096;
font-size: 1rem;
line-height: 1.5;
}
</style>
Однако, если вы используете TailwindCSS, это должно выглядеть так:
<div class="p-6 max-w-sm mx-auto bg-white rounded-xl shadow-lg flex items-center space-x-4">
<div class="shrink-0">
<img class="h-12 w-12" src="/img/logo.svg" alt="ChitChat Logo">
</div>
<div>
<div class="text-xl font-medium text-black">ChitChat</div>
<p class="text-slate-500">You have a new message!</p>
</div>
</div>
Использование семантических имен классов CSS имеет несколько основных преимуществ:
p-6、max-w-sm
等一目了然地表达了стиль效果,Вы даже можете представить конечный эффект🤔.Все только что упомянутые примеры взяты с официального сайта. Здесь я приведу пример, который я разработал. Например: недавно я написал окно подсказки, которое выглядит так:
Конечно, чтобы соответствовать дизайну страницы, используется и яркий цветовой режим:
В настоящее время мы используем TailWindCSS для обработки атомизации. Как нам его спроектировать?
Благодаря приведенному выше анализу,Мы можем легко связать ключевые слова:bg-white dark:bg-gray-800 rounded-3xl shadow-md
,а такжеlist-disc
、text-sky-500 dark:text-sky-300 decoration-indigo-400 underline underline-offset-4
;конечно,Все это после обращения к документу TailwindCSS и его изучения.,Только тогда я узнал:
Ничего не говорите об изучении TailwindCSS. Чтобы перейти от семантического CSS к атомарному CSS, вам нужно прочитать официальные документы и изучить систему дизайна. Какие из основных библиотек компонентов интерфейсной платформы в наши дни вообще не требуют обучения?
После этого еще раз проанализируйте: необходимо разместить на макете контейнера,Поэтому нам нужно использоватьgird
Макет:
Окончательный код:
<div class="md:flex">
<div class="p-5">
<div
class="uppercase tracking-wide text-2xl text-indigo-500 dark:text-indigo-200 font-semibold"
>
Дополнительные операции
</div>
<div
class="mt-2 text-slate-500 dark:text-slate-400 w-100">
<p class="text-lg font-medium">
<ul class="list-disc">
<li>вы можете установить одинUser-AgentПереключить плагин,и установите Edge Android,Используйте это для тестирования мобильного поиска;</li>
<li>Браузер запретит странице открывать несколько страниц.,ты<span
class="decoration-sky-400 text-pink-500 dark:text-pink-300">Вам нужно открыть несколько вкладок, чтобы запустить этот сайт</span>;
</li>
<li>На этом сайте может быть реклама,ты可以<span
class="text-sky-500 dark:text-sky-300 decoration-indigo-400"
>Нажмите на рекламу, чтобы проверить дополнительные возможности вашего браузера.『забавный😁』</span>ヾ(≧≦)〃
</li>
</ul>
</p>
</div>
</div>
</div>
Эффект тоже хороший, посмотрите эффект на мобильном терминале:
Фактически, TailwindCSS также широко используется в различных библиотеках пользовательского интерфейса.
Здесь я представлю еще одну Библиотеку пользовательского интерфейса компонентов,Удобно использовать TailwindCSS прямо из коробки. давным-давно,Начните использовать Vue3 для личных проектов,Но текущие компоненты Vue3,Большая часть из них все еще находится на стадии Альфа.
Например: элемент, который очень популярен на этапе Vue2. Пользовательский интерфейс, сейчас я думаю, что Element PlusОн еще не достиг того уровня2.0Это так полезно, когда。И мне очень некомфортно в этом месте:label
будет использоваться в качестве значения,ноlabel
Само слово не имеет никакого значения!
Позже использовалсяArco Design: https://arco.design/:
Очень хорошая библиотека пользовательского интерфейса и спецификации дизайна, но недавно я использовал Nuxt3; DesginВсе еще адаптируемся,Так что на этот раз я все еще рекомендую то, что рекомендовал раньше.:NuxtUI: https://ui.nuxt.com/
В основном компоненты разрабатываются на основе TailwindCSS, например настройка цвета темы:
export default defineAppConfig({
ui: {
primary: 'green',
gray: 'cool'
}
})
Если вы хотите начать работу с TailwindCSS непосредственно из пользовательского интерфейса компонента, то использование NuxtUI — хороший выбор.
Tailwind CSS значительно упрощает написание стилей, предоставляя большое количество предустановленных классов стилей.
Разработчики могут быстро создавать собственные интерфейсы для повышения эффективности разработки. По сравнению с семантическим CSS метод атомного имени класса CSS более расширяем и является тенденцией развития написания CSS в будущем.
В этой статье представлен систематический обзор эволюции от семантики к атомизации и того, как начать использовать Tailwind CSS. Он имеет большое значение для разработчиков, которые хотят принять новую парадигму написания CSS. Конечно, вас ждет еще больше контента, или, если у вас есть возможность, вам будут предоставлены другие учебные пособия.