Css стрелка из бордер

Стрелки с помощью свойства border

С помощью border можно легко делать стрелочки разного размера и в разных направлениях.

Чтобы понять общий принцип, возьмем див нулевого размера, сделаем ему толстую рамку и раскрасим её в разные цвета:

Теперь достаточно задать transparent вместо цветов, которые не нужны, и обнулить border напротив нужного уголка, чтобы он не влиял на ширину фигуры:

Обнулив border не с одной стороны, а с двух, можно получить вот такие уголки:

Аналогичный эффект можно получить, задав цвет двум сторонам, находящимся рядом:

При этом в середине длинной стороны может быть небольшая неровность, в отличие от первого способа.

А если задать цвет с трёх сторон, получатся флажки : )

Но вернемся к стрелкам. Сочетая border и псевдоэлементы можно получить вот такие варианты:

Большим преимуществом способа является отсутствие изображений, что позволяет в любой момент изменить цвет и размер стрелки.

А ещё таким способом легко делать ленточки:

Сайдбар

Статьи

  • Математические функции в CSS
  • Адаптивное видео с помощью встроенных математических функций CSS
  • Недоступность в картинках
  • Единицы размеров в CSS
  • Генератор цветовых тем
  • Jekyll → Gatsby
  • Вариативные шрифты
  • Размеры в SVG
  • Адаптивный Pixel Perfect
  • Логотип не отвечает или временно недоступен
  • SVG-паттерны
  • Мыльные пузыри на SVG
  • SVG-градиенты
  • Весёлая консолька
  • SVG-маски
  • Умная прокрутка со Scroll Snap Points
  • CSS-анимации для ротации изображений
  • Анимированные SVG-маски
  • Странности обводки в SVG
  • SVG-прелоадеры
  • Анимируем градиенты ещё раз
  • Background-blend-mode
  • Возможности оформления SVG
  • CSS и SVG маски
  • Nth-child и nth-of-type
  • SVG-иконки
  • SVG: заливка и обводка
  • SVG-path
  • SVG: группировка и переиспользование элементов
  • SVG-фигуры и трансформации
  • SVG
  • СSS-градиенты и 3D
  • Рисовалка анимированных теней
  • Свежие CSS-паттерны
  • CSS-паттерны
  • Радиальные градиенты
  • Линейные градиенты
  • Крестики-нолики на CSS
  • Border-image
  • Электронные часы на CSS и JS.
  • Сколько весят селекторы?
  • Символы юникода
  • Свойство content
  • Анимируем CSS-градиенты
  • Текстовые эффекты
  • Древовидный список на CSS
  • Css-селекторы, часть 2
  • Css-селекторы
  • Контекст наложения
  • Два способа «прошить» элемент по краю
  • Box-sizing
  • Цвета в CSS
  • Фон под строчками: добавляем поля
  • Box-shadow
  • Css-фигуры: лепесток
  • Transform
  • Css Animation
  • 3D-куб
  • Border-radius
  • First letter
  • Эти глаза напротив
  • CSS-фигуры
  • Стрелки с помощью свойства border
  • Flexbox

Страницы

Проекты

Источник

Треугольники, стрелки, квадраты и лимон при помощи свойств CSS border и border-radius

В моей статье про создание кнопки «наверх» меня часто просят, чтобы я дал ссылку на картинку со стрелкой.

А я либо предлагаю использовать HTML-сущность ▲ (в итоге получается такая вот стрелка ▲), либо предлагаю побольше почитать о свойстве CSS border .

Читайте также:  Html element get tag name

В итоге я сам решил написать статью с трюками, которые можно провернуть при помощи свойств border и border-radius .

Трюки со свойствами CSS border и border-radius

Все примеры в статье (кроме этой картинки) написаны на CSS, так что вы легко сможете посмотреть их исходный код.

Свойство border

Для начала давайте разберемся, на что вообще способен border , кроме как очерчивать границу в несколько пикселей вокруг элемента.

1. Треугольник (стрелка)

Возможно вы заметили, что этот пост помечен тегов «Ускорение сайта», вопрос — почему? Ответ кроется в том, что обычно, для создания стрелок на сайте, вебмастера используют картинки, более опытные используют спрайты или иконочные шрифты.

Но в рунете пока что чаще всего встречается именно тот вариант, в котором для каждой стрелки и каждого элемента интерфейса используется отдельная картинка, а каждая картинка — это отдельный HTTP-запрос, а значит минус к скорости загрузки сайта. Чем меньше таких запросов, тем выше скорость загрузки. Именно поэтому для создания стрелок и указателей более рационально использовать CSS (впервые такую фишку я заметил у гугла).

a href="#top">span style="color: #c1ef65;">"arr">span> наверхa>

CSS:
Только для стрелки, со ссылкой думаю вы и сами справитесь.

span.arr{ vertical-align: middle; margin: 0 5px; display: inline-block; width: 0; height: 0; border-top: 4px solid #96887E; border-left: 4px solid transparent; border-right: 4px solid transparent; }

Довольно неплохо, верно? Кроме того, эту стрелку вы можете сделать как пошире, так и поуже.

А теперь посмотрим на другие примеры.

2. Квадрат

HTML:
Необязательно использовать именно , можете взять вместо него , если хотите.

span style="color: #c1ef65;">"square">span>

CSS:
Как видите, стилей совсем немного, всё легко и просто.

span.square { width: 0; height: 0; display:inline-block; border: 40px solid; border-color: yellow green blue red; /* квадрат будет состоять из четырех разноцветных треугольников */ }

Свойство border-radius

1. Лимон

Весь HTML будет точно такой же, как и в предыдущем примере, мы лишь изменим класс элемента на lemon .

span.lemon { width: 200px; height: 200px; display:inline-block; background: #F5F240; border: 5px solid #F0D900; -moz-border-radius: 10px 150px 30px 150px; -webkit-border-radius: 10px 150px 30px 150px; border-radius: 10px 150px 30px 150px; }

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

2. Блоки с речью

Для каждого из четырех последующих примеров будет использоваться следующий общий HTML и CSS:

span style="color: #c1ef65;">"talk">Привет, чувак!span>
span.talk{ display:inline-block; position: relative; background: #A0A0A0; width: 150px; height: 50px; line-height: 50px; color:#fff; text-align: center; -moz-border-radius:8px; -webkit-border-radius:8px; border-radius:8px; } span.talk:after{ content: ''; position: absolute; width: 0; height: 0; border: 10px solid; }

Теперь поглядим на каждый из примеров по отдельности, то есть сейчас в каждом случае к тем общим стилям будут добавляться эти несколько строчек кода.

В 1-м варианте стрелка находится внизу:

span.talk:after { border-color: #A0A0A0 transparent transparent transparent; top: 100%; left: 50%; margin-left: -10px; }

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

span.talk:after { border-color: transparent transparent #A0A0A0 transparent; bottom: 100%; left: 50%; margin-left: -10px; }

Если же вам понадобится использовать несколько разновидностей блока, например все четыре варианта, то помимо класса talk пропишите к каждому элементу ещё по одному классу, например top, right, bottom, left.

Читайте также:  Python sorting list dict

В этом же примере стрелка находится справа:

span.talk:after { border-color: transparent transparent transparent #A0A0A0; top: 50%; left: 100%; margin-top: -10px; }

И последний, 4-й вариант со стрелкой слева:

span.talk:after { border-color: transparent #A0A0A0 transparent transparent; top: 50%; right: 100%; margin-top: -10px; }

3. Радиация CSS

HTML:
Как видите, во всех примерах (кроме блоков с речью) HTML практически не отличается, меняются только классы, хотя и их можно оставить одинаковыми, если вы не намерены использовать сразу всё это на одной странице.

span style="color: #c1ef65;">"biohazard">span>

CSS:
Стили практически такие же, которые мы использовали при создании квадрата, но здесь ещё также присутствует свойство border-radius.

.biohazard { display:inline-block; width: 0; height: 0; border: 55px solid; -moz-border-radius: 50%; -webkit-border-radius: 50%; border-radius: 50%; border-color: black yellow black yellow; }

Ещё по теме CSS

Миша

Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.

Пишите, если нужна помощь с сайтом или разработка с нуля.

Источник

Нарисовать стрелку на CSS

Нарисовать стрелку на CSS

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

Создадим в HTML разметке блок и стилизуем его.

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

// CSS
.arrow width: 60px;
height: 60px;
border-top: 10px solid #6E18C0;
border-right: 10px solid #6E18C0;
margin-right: 60px;
>

Нарисовать стрелку на CSS.

В дальнейшем создадим для каждой стрелке свой блок и к уже имеющемуся классу arrow добавим дополнительные классы со свойством transform.

Стрелка вверх

Повернем стрелочку вверх на 45 градусов. По аналогии оформим остальные стрелки.

Нарисовать стрелку на CSS.

Стрелка вниз

Стрелка вправо

Стрелка влево

Нарисовать стрелку на CSS.

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

Треугольник вверх и вниз

// HTML

// CSS
.triangle-up width: 0;
height: 0;
border-left: 70px solid transparent;
border-right: 70px solid transparent;
border-bottom: 100px solid #6E18C0;
>

.triangle-down width: 0;
height: 0;
border-left: 70px solid transparent;
border-right: 70px solid transparent;
border-top: 100px solid #6E18C0;
>

Читайте также:  Write permission php ini

Треугольник слева и справа

// HTML

// CSS
.triangle-left width: 0;
height: 0;
border-top: 70px solid transparent;
border-bottom: 70px solid transparent;
border-right: 100px solid #6E18C0;
>

.triangle-right width: 0;
height: 0;
border-top: 70px solid transparent;
border-bottom: 70px solid transparent;
border-left: 100px solid #6E18C0;
>

Нарисовать стрелку на CSS.

Что нужно для открытия своей Web-студии? Самое главное — это наконец-то оставить утопическую идею, что я сам могу на профессиональном уровне делать всю работу. Без частичного делегирования обязанностей по созданию клиентского сайта другим специалистам, к сожалению ваша новенькая Web-студия не будет успешна. Когда клиент обращается в Web-студию, он рассчитывает получить сайт под ключ в одном месте. Уж поверьте, одному человеку (особенно начинающему) не вытянуть заказ даже средней сложности. Основываясь на своем личный опыт, я записал пошаговое руководство по Созданию своей Web-студии за 55 дней.

Создано 30.03.2020 10:31:22

  • Михаил Русаков
  • Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

    Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
    Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

    Если Вы не хотите пропустить новые материалы на сайте,
    то Вы можете подписаться на обновления: Подписаться на обновления

    Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

    Порекомендуйте эту статью друзьям:

    Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

    1. Кнопка:
      Она выглядит вот так:
    2. Текстовая ссылка:
      Она выглядит вот так: Как создать свой сайт
    3. BB-код ссылки для форумов (например, можете поставить её в подписи):

    Комментарии ( 0 ):

    Для добавления комментариев надо войти в систему.
    Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.

    Copyright © 2010-2023 Русаков Михаил Юрьевич. Все права защищены.

    Источник

    How TO — CSS Arrows

    Right arrow:

    Left arrow:

    Up arrow:

    Down arrow:

    Step 2) Add CSS:

    Example

    .arrow <
    border: solid black;
    border-width: 0 3px 3px 0;
    display: inline-block;
    padding: 3px;
    >

    .right transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    >

    .left transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
    >

    .up transform: rotate(-135deg);
    -webkit-transform: rotate(-135deg);
    >

    .down transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    >

    Unlock Full Access 50% off

    COLOR PICKER

    colorpicker

    Join our Bootcamp!

    Report Error

    If you want to report an error, or if you want to make a suggestion, do not hesitate to send us an e-mail:

    Thank You For Helping Us!

    Your message has been sent to W3Schools.

    Top Tutorials
    Top References
    Top Examples
    Get Certified

    W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

    Источник

    Оцените статью