Прозрачность фона — Tailwind CSS

​Основы использования

​Управление непрозрачностью фильтров фона

Используйте утилиты backdrop-opacity-{amount} для управления непрозрачностью других фильтров фона, применяемых к элементу.

<div>
  <!-- ... -->
</div>
<div>
  <!-- ... -->
</div>
<div>
  <!-- ... -->
</div>

​Удаление фильтров фона

Чтобы удалить сразу все фоновые фильтры для элемента, используйте утилиту backdrop-filter-none:

<div>
  <!-- ... -->
</div>

Это может быть полезно, когда вы хотите условно удалить фоновые фильтры, например, при наведении или в определенной контрольной точке.


​Применяя условно

​Наведение, фокус и другие состояния

Tailwind позволяет условно применять служебные классы в разных состояниях с помощью модификаторов вариантов. Например, используйте hover:backdrop-opacity-60, чтобы применять утилиту backdrop-opacity-60

только при hover.

<div>
  <!-- ... -->
</div>

Полный список всех доступных модификаторов состояния смотрите в документации Наведение, фокус и другие состояния.

​Контрольные точки и медиа-запросы

Вы также можете использовать модификаторы вариантов для таргетинга на медиа-запросы, такие как реагирующие контрольные точки, темный режим, предпочтения с уменьшенным движением и многое другое. Например, используйте md:backdrop-opacity-60, чтобы применить утилиту backdrop-opacity-60 только на экранах среднего размера и выше.

<div>
  <!-- ... -->
</div>

Чтобы узнать больше, ознакомьтесь с документацией по адаптивному дизайну, темному режиму и другим модификаторам медиазапросов.


​Использование пользовательских значений

​Настройка вашей темы

По умолчанию Tailwind включает в себя несколько утилит общего назначения backdrop-opacity. Вы можете настроить эти значения, отредактировав theme.backdropOpacity или theme.extend.backdropOpacity в вашем файле tailwind.config.js.

tailwind.config.js

module.exports = {
  theme: {
    extend: {
      backdropOpacity: {
        15: '.15',
      }
    }
  }
}

Дополнительные сведения о настройке темы по умолчанию смотрите в документации настройка темы.

​Произвольные значения

Если вам нужно использовать одноразовое backdrop-opacity value, которое не имеет смысла включать в вашу тему, используйте квадратные скобки, чтобы сгенерировать свойство на лету, используя любое произвольное значение.

<div>
  <!-- ... -->
</div>

Узнайте больше о поддержке произвольных значений в документации по произвольным значениям.

9. Свойства текста · Неожиданный HTML

Свойства текста интересны тем, что многие из них применяются не только к тексту, но и к inline-block элементам.

text-decoration — определяет будет или нет подчеркивание у текста
underline — нижнее подчеркивание
overline – линия над текстом
line-through – перечеркнутый текст
none – оформление отсутствует (попробуйте применить это значение к гиперссылке, чтобы получить ссылку без подчеркивания)

text-align – выравнивание текста и инлайн элементов по горизонтали.
center – по середине
left – влево
right – вправо

Обратите внимание text-align воздействует на содержимое блока, к которому он применяется.

Например

<div>
Это текст, который должен быть выровнен по центру
</div>

Зададим css

.block {
    width:100%;
    height:300px;
    text-align:center;
}

vertical-align – выравнивание блока внутри строчки по вертикали
top – по верху
bottom – по низу
middle – по середине

В отличии от text-align, vertical-align применяется не к внутреннему содержимому блока, а непосредственно к самому блоку.

line-height — высота строки

Хак: если выставить высоту строки равной высоте блока, то строчка текста выровняется посередине, по высоте.

Хак: в предыдущих разделах, выполняя задание, Вы могли столкнуться с тем, что между двумя рядами display:inline-block элементов могли появляться горизонтальные строчки. Это вызвано тем, что есть некоторая высота строки и inline-block элемент добавляется не в самый низ строки. Решить эту проблему можно, выставив line-height:0; для родительского блока.

Пример использования line-height в процентах https://www.w3schools.com/cssref/tryit.asp?filename=trycss_line-height

word-spacing — отступ между словами. Свойство можно применить к display:inline-block блокам, задав его для родительского блока

.parent {
    word-spacing:40px;
}

word-wrap

— разбивает длинные слова и делает принудительный перенос

word-wrap: break-word;

http://shpargalkablog. ru/2013/02/word-wrap.html

Handling Long Words and URLs (Forcing Breaks, Hyphenation, Ellipsis, etc)

white-space — определяет будет или не будет перенос слова при наталкивании на пробел.

normal — обычное поведение. При необходимости перенести слово, это делает по пробелу

nowrap — пробелы воспринимаются как буква и являются неделимыми символами

white-space:nowrap;

hyphens — дефисы

hyphens: none | manual | auto

hyphens

letter-spacing — отступ между буквами

text-indent — отступ у абзаца

text-shadow — тень от текста, будет подробнее рассмотрена в CSS3 свойствах.

text-transform

none — значение по умолчанию capitalize — каждое слово начинается с большой буквы lowercase — приводим все буквы к нижнему регистру uppercase — приводим все буквы к верхнему регистру

https://www. w3schools.com/cssref/pr_text_text-transform.asp

text-overflow

clip — просто обрезает текст

ellipsis — ставит в конце текста три точки

кросс-браузерное решение

  width: 250px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;

Практика:

  1. Выровнять три блока по центру по горизонтали

Задача: разместить блоки разной высоты в линию

  1. Теперь попробуем добавить текст в один div’ов. Как видим один из блоков уезжает вниз. Его позиция кажется бесмысленной, но на самом деле всего блоки выровнены по так называемой базовой линии (baseline)

  1. Для того, чтобы исправить ситуацию, нужно применить свойство vertical-align:bottom для выравнивания по низу блоков, либо vertical-align:top для выравнивания по верху блоков

Задача: разместить блоки разной высоты в линию по верхнему краю

  1. Делаем блоки со словами внутри. Выравниваем в нем текст по вертикали и горизонтали
  2. Делаем блоки разной ширины с одинаковыми отступами между ними
  3. Делаем блок и ставим длинное слово внутрь его. Обеспечиваем переносы.
  4. Создаем шаблон, указанный ниже. Размеры блоков фиксированные
  5. Есть блок с фоновой картинкой. На картинке есть небольшое затемнение. Поверх затемнения есть текст(одно слово), выровненный по вертикали и горизонтали.
  6. Берем сетку из airbnb. Выстраиваем блоки со словами внутри них
  7. Сделать верстку в стилистике pinterest

Интересное чтиво:
Пошаговое руководство как оформлять текст на сайте
http://jgthms.com/web-design-in-4-minutes/

Темный режим — Tailwind CSS

Основное использование

Теперь, когда темный режим является первоклассной функцией многих операционных систем, становится все более и более распространенным создание темной версии вашего веб-сайта в соответствии с дизайном по умолчанию.

Чтобы сделать это как можно проще, Tailwind включает вариант темный , который позволяет по-разному оформлять сайт при включенном темном режиме:

Светлый режим

Запись вверх ногами

Перо Zero Gravity Pen можно использовать для письма в любой ориентации, в том числе вверх ногами. Он работает даже в открытом космосе.

Темный режим

Запись в перевернутом виде

Перо Zero Gravity Pen можно использовать для письма в любой ориентации, в том числе вверх ногами. Он работает даже в открытом космосе.

 <дел>
  <дел>
    <диапазон>
      
    
  

Пишет вверх ногами

Перо Zero Gravity Pen можно использовать для письма в любой ориентации, в том числе вверх ногами. Он работает даже в открытом космосе.

По умолчанию используется мультимедийная функция CSS предпочитает цветовую схему , но вы также можете создавать сайты, которые поддерживают переключение темного режима вручную, используя стратегию «класса».


Переключение темного режима вручную

Если вы хотите поддерживать переключение темного режима вручную, а не полагаться на настройки операционной системы, используйте стратегию class вместо стратегии media :

tailwind.config.js

 модуль.экспорт = {
  darkMode: 'класс',
  // ...
} 

Теперь вместо dark:{class} классов, применяемых на основе preferences-color-scheme , они будут применяться всякий раз, когда класс dark присутствует ранее в дереве HTML.

 

<тело>
  
  <дел>
    
  
<тело> <дел>

Если вы установили префикс в конфигурации Tailwind, обязательно добавьте его в класс dark . Например, если у вас есть префикс tw-, вам нужно будет использовать класс tw-dark , чтобы включить темный режим.

То, как вы добавите класс dark к элементу html , зависит от вас, но общий подход заключается в использовании небольшого количества JS, который откуда-то считывает предпочтения (например, localStorage ) и соответствующим образом обновляет DOM.

​Поддержка системных предпочтений и ручного выбора

Стратегия класса может использоваться для поддержки как системных предпочтений пользователя , так и режима, выбранного вручную с помощью API Window.matchMedia() .

Вот простой пример того, как вы можете поддерживать светлый режим, темный режим, а также с учетом предпочтений операционной системы:

spaghetti.js

 // При загрузке страницы или при смене темы лучше всего добавить строку в `head ` чтобы избежать FOUC
if (localStorage.theme === 'темный' || (!('тема' в localStorage) && window.matchMedia('(предпочитает цветовую схему: темный)').matches)) {
  document.documentElement. classList.add('темный')
} еще {
  document.documentElement.classList.remove('темный')
}
// Всякий раз, когда пользователь явно выбирает легкий режим
localStorage.theme = 'светлый'
// Всякий раз, когда пользователь явно выбирает темный режим
localStorage.theme = 'темный'
// Всякий раз, когда пользователь явно решает соблюдать предпочтения ОС
localStorage.removeItem('тема') 

Опять же, вы можете управлять этим как хотите, даже сохраняя предпочтения на стороне сервера в базе данных и отображая класс на сервере — это полностью зависит от вас.

Настройка имени класса

Некоторые фреймворки (например, NativeScript) имеют собственный подход к включению темного режима и добавляют другое имя класса, когда темный режим активен.

Вы можете настроить имя селектора темного режима, установив darkMode в массив с вашим настраиваемым селектором в качестве второго элемента:

tailwind.config.js

 module.exports = {
  darkMode: ['класс', '[data-mode="dark"]'],
  // . ..
} 

Совет CSS — сохранить цвет плитки (удалить эффект затемнения при наложении текста) — Пользовательский код

kyleheney 1

Я искал это в Сообществе, а потом сам разобрался, когда не смог найти никого, кто ссылался бы на это.

Этот CSS удалит эффект «серого» при наложении текста поверх плитки. Я использую это, потому что мои плитки в основном представляют собой сплошные цвета, и я хотел бы сохранить внешний вид даже после добавления текста в качестве наложения. Это также заставляет его быть черным текстом, выделенным полужирным шрифтом.

 <предварительно><промежуток><стиль>
[data-test="tile-item"] .tile-overlay {фон: нет;}
[data-test="tile-item"] .tile-subtitle {цвет: черный; вес шрифта: полужирный;}
 

11 лайков

Даррен_Мерфи 2

Кажется, это не очень хорошо работает с Safari/IOS…

Недавно я попробовал это в одном из своих приложений, используя практически тот же CSS: