CSS Logical Properties

Andy Bell shares a tutorial on how to “create spacing that works regardless of the direction of your content or the environment of your users” with CSS logical properties.

See the Pen Logical Properties Demo by Andy Bell (@andybelldesign) on CodePen.

Created on March 13, 2020 Updated on March 13, 2020. A Pen by Andy Bell on CodePen. License.

index.html

<button dir="ltr" class="button" type="button">
  <svg viewBox="0 0 24 24">
    <path d="M10.59,13.41C11,13.8 11,14.44 10.59,14.83C10.2,15.22 9.56,15.22 9.17,14.83C7.22,12.88 7.22,9.71 9.17,7.76V7.76L12.71,4.22C14.66,2.27 17.83,2.27 19.78,4.22C21.73,6.17 21.73,9.34 19.78,11.29L18.29,12.78C18.3,11.96 18.17,11.14 17.89,10.36L18.36,9.88C19.54,8.71 19.54,6.81 18.36,5.64C17.19,4.46 15.29,4.46 14.12,5.64L10.59,9.17C9.41,10.34 9.41,12.24 10.59,13.41M13.41,9.17C13.8,8.78 14.44,8.78 14.83,9.17C16.78,11.12 16.78,14.29 14.83,16.24V16.24L11.29,19.78C9.34,21.73 6.17,21.73 4.22,19.78C2.27,17.83 2.27,14.66 4.22,12.71L5.71,11.22C5.7,12.04 5.83,12.86 6.11,13.65L5.64,14.12C4.46,15.29 4.46,17.19 5.64,18.36C6.81,19.54 8.71,19.54 9.88,18.36L13.41,14.83C14.59,13.66 14.59,11.76 13.41,10.59C13,10.2 13,9.56 13.41,9.17Z" />
  </svg>
  <span>A nice button</span>
</button>

script.js

const button = document.querySelector("button");

button.addEventListener("click", evt => {
  if (button.getAttribute("dir") === "ltr") {
    button.setAttribute("dir", "rtl");
  } else {
    button.setAttribute("dir", "ltr");
  }
});

style.css

.button {
  display: inline-flex;
  align-items: center;
  padding: 0.8rem 2rem;
  color: #ffffff;
  background: hsl(338, 81%, 41%);
  border: none;
  font-family: Courier New, monospace;
  font-weight: bold;
  font-size: 1.4em;
  letter-spacing: 0.03ch;
  line-height: 1;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
}

.button:hover:focus {
  outline: none;
}

.button svg {
  margin-inline-end: 0.5em;
  width: 1.4em;
  height: 1.4em;
  fill: currentcolor;
  transform: translateY(-1px); 
}

body {
  display: grid;
  place-items: center;
  background: hsl(39, 100%, 97%);
  color: hsl(222, 30%, 16%);
}

styles

<link href="https://unpkg.com/modern-css-reset/dist/reset.min.css" rel="stylesheet" />

Categories:
W3TWEAKS
Latest posts by W3TWEAKS (see all)

Comments

  1. probiv-bot.pro Avatar

    Your comment is awaiting moderation.

    Здесь вы можете найти боту “Глаз Бога” , который способен проанализировать всю информацию о любом человеке из открытых источников .
    Этот мощный инструмент осуществляет поиск по номеру телефона и раскрывает данные из онлайн-платформ.
    С его помощью можно пробить данные через Telegram-бот , используя имя и фамилию в качестве ключевого параметра.
    пробить номер машины
    Технология “Глаз Бога” автоматически собирает информацию из проверенных ресурсов, формируя структурированные данные .
    Клиенты бота получают ограниченное тестирование для ознакомления с функционалом .
    Сервис постоянно развивается, сохраняя актуальность данных в соответствии с законодательством РФ.

  2. проверка по номеру телефона Avatar

    Your comment is awaiting moderation.

    На данном сайте вы можете получить доступ к боту “Глаз Бога” , который позволяет проанализировать всю информацию о любом человеке из публичных данных.
    Уникальный бот осуществляет анализ фото и показывает информацию из соцсетей .
    С его помощью можно пробить данные через Telegram-бот , используя автомобильный номер в качестве поискового запроса .
    проверить номер телефона
    Система “Глаз Бога” автоматически анализирует информацию из проверенных ресурсов, формируя исчерпывающий результат.
    Пользователи бота получают 5 бесплатных проверок для тестирования возможностей .
    Сервис постоянно совершенствуется , сохраняя скорость обработки в соответствии с стандартами безопасности .

Leave a Reply

Your email address will not be published. Required fields are marked *