html — Как сделать outline для ссылок ‘a’ вокруг текста разной длины
Вопрос задан
Изменён 5 месяцев назад
Просмотрен 120 раз
Хочу задать ссылкам a
:focus
с outline
вокруг текста, но outline
выходит длиннее, чем текст с правой стороны. Я пытался исправить это путем добавления определенной ширины width
, но у каждой ссылки текст совсем разной длины и поэтому это не помогает. Как можно это исправить?
Код приведен ниже
.contacts-item-link { display: block; font-size: 25px; line-height: 180%; color: #000; } .contacts-item-link:focus { outline: 1px solid #71A7E2; } .contacts-item-link:hover { color: #71A7E2; }
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <link rel="stylesheet" href="./css/style.css"> </head> <body> <main> <a href="tel:79876543210"> +7 (987) 654-32-10 </a> <a href="tel:71234567890"> +7 (123) 456-78-90 </a> <a href="mailto:[email protected]"> [email protected] </a> <a href="mailto:[email protected]"> [email protected] </a> </main> </body> </html>
- html
- css
- width
- focus
- outline
По умолчанию ссылки имеют обводку по ширине текста, так как у них свойство display установлено в inline. Но, Вы задали этому свойству значение block (предполагаю, чтобы ссылки были каждая с новой строки), разрешая растягиваться на всю доступную ширину.
Ссылки или не трогаем или задаём значение inline-block, а выравниваем в колонку через display: flex
у родителя :
. main { display: flex; flex-flow: column nowrap; align-items: flex-start; } .contacts-item-link { display: inline-block; font-size: 25px; line-height: 180%; color: #000; } .contacts-item-link:focus { outline: 1px solid #71A7E2; } .contacts-item-link:hover { color: #71A7E2; }
<main> <a href="tel:79876543210">+7 (987) 654-32-10</a> <a href="tel:71234567890">+7 (123) 456-78-90</a> <a href="mailto:[email protected]">[email protected]</a> <a href="mailto:[email protected]">[email protected]</a> </main>
Зарегистрируйтесь или войдите
Регистрация через Facebook
Регистрация через почту
Отправить без регистрации
Почта
Необходима, но никому не показывается
Отправить без регистрации
Почта
Необходима, но никому не показывается
Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки
Длина рамки CSS — Stack Overflow на русском
Вопрос задан
Изменён 7 месяцев назад
Просмотрен 47k раза
Есть рамка вокруг текста
border-top: 1px solid #000; border-bottom: 1px solid #000; padding: 5px;
Как сделать рамку длиннее или наоборот?
Не совсем понятно, что именно вам нужно.
border-top: 1px solid #000;
— верхняя часть рамки толщиной в1px
цвета#000
border-bottom: 1px solid #000;
— нижняя часть рамки1px
цвета#000
padding: 5px;
— внутренний отступ (отступ от текста внутри рамки до самой рамки)5px
Длина же задается параметром width
(высота — height
). Например:
width 100px; border-top: 1px solid #000; border-bottom: 1px solid #000; padding: 5px;
Возможно, вам поможет эта статья или эта.
1
width: 200px;
? 🙂
С помощью border
такого не сделаешь, она либо на всю длину либо никак. Поробуйте сделать так:
div{position:relative;} div:before{ position:absolute; top:0; left:0; width:50%; border-top:1px solid #000; content:""; }
Попробуйте так
border: 1px solid #000; padding: 0 60px 0 0;
span { border: 1px solid red; } span.long { padding: 0 2em; } span.long-2 { padding: 0 2em; margin: 0 -2em; }
<p>Как сделать <span>рамку</span> длиннее?</p> <p>Как сделать <span>рамку</span> длиннее?</p> <p>Как сделать только <span>рамку</span> длиннее?</p>
Интересно а 10 лет назад были псевдо элементы ::before; ::after? Можно было было бы так:
.parent-element { display: flex; width: 1200px; height: 500px; &::after { content: ''; width: 800px; margin: 0 auto; height: 1px; border: 0.5px solid black; } }
Зарегистрируйтесь или войдите
Регистрация через Google
Регистрация через Facebook
Регистрация через почту
Отправить без регистрации
Почта
Необходима, но никому не показывается
Отправить без регистрации
Необходима, но никому не показывается
Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки
Как удалить и оформить рамку вокруг полей ввода текста в Google Chrome
В Google Chrome поля формы, такие как ,
- Используйте элемент
- Добавьте два элемента для определения полей для пользовательского ввода. С первым используйте атрибуты type и placeholder. Со вторым помимо этих атрибутов также используйте имя класса.
<форма>Обычное поле ввода с контуром рамки:
Поле ввода без контура:
форма>
- Установите для свойств border-top-style, border-right-style, border-left-style элемента значение «скрытый». Чтобы иметь только нижнюю границу, установите для стиля нижней границы значение «канавка», а затем добавьте цвет фона.
- Используйте псевдокласс :focus с классом «no-outline» для стилизации полей формы, на которые фокусируется пользователь.
- Чтобы поля в ваших формах были чистыми, задайте для свойства структуры значение «none», которое используется, чтобы не отображать структуру.
ввод { стиль верхней границы: скрытый; стиль границы справа: скрытый; левый стиль границы: скрытый; нижняя граница: канавка; цвет фона: #eee; } .no-контур: фокус { контур: нет; }
Пример добавления только нижней границы поля ввода текста:
<голова>Название документа <стиль> тело { цвет фона: #eee; } вход { стиль верхней границы: скрытый; стиль границы справа: скрытый; левый стиль границы: скрытый; нижняя граница: канавка; цвет фона: #eee; } .no-контур: фокус { контур: нет; } стиль> голова> <тело> <форма>Обычное поле ввода с контуром рамки:
Поле ввода без контура:
форма> тело>
Попробуй сам »
Результат
Обычное поле ввода с контуром рамки: Поле ввода без контура:
Удаление контура может вызвать трудности, поскольку при использовании многих полей формы или нескольких форм на одной странице пользователи часто не знают, в какое поле они вводят текст.
Рассмотрим еще один пример, где используется несколько полей . Всякий раз, когда пользователь щелкает поле, оно получает цвет границы, чтобы показать, что поле активно.
Пример оформления границ вокруг полей ввода текста:
<голова>Название документа <стиль> вход { отступ: 5px; нижняя граница: 5px; } форма, этикетка { поле: 10 пикселей; } стиль> голова> <тело> <форма> форма> <форма> Имя:
Фамилия:
форма> <форма> Мужской
Женский
Другое форма> <форма> <тип ввода="текст" имя="имя"> форма> <форма> <тип ввода="текст" имя="имя"> форма> <форма> <набор полей> поля> форма> тело>
Попробуй сам »
Пример добавления границ вокруг полей ввода текста без выделения цветом:
<голова>Название документа <стиль> вход { отступ: 5px; нижняя граница: 5px; контур: нет; } форма, этикетка { поле: 10 пикселей; } стиль> голова> <тело> <форма> форма> <форма> Имя:
Фамилия:
форма> <форма> Мужской
Женский
Другое форма> <форма> <тип ввода="текст" имя="имя"> форма> <форма> <тип ввода="текст" имя="имя"> форма> <форма> <набор полей> поля> форма> тело>
Попробуй сам »
Итак, в примере выше пользователю намного сложнее заполнить форму, когда он не видит четко, какое поле ввода активно в данный момент.
Вот почему рекомендуется удалить контур по умолчанию и добавить предпочтительный стиль в поле, чтобы указать, что он активен при нажатии на него.
Удалите контур и добавьте стиль границы, используя :focus и :active псевдоклассы с полем . Кроме того, вы можете удалить границы по умолчанию на определенных сторонах, установив для них значение «прозрачный».
Пример оформления границы вокруг полей ввода текста с помощью псевдоклассов :focus и :active:
<голова>Название документа <стиль> вход { отступ: 5px; поле: 5px 0; контур: нет; } ввод: фокус, ввод: активный { цвет границы: прозрачный; нижняя граница: 2px сплошная #1c87c9; } стиль> голова> <тело> <форма>
форма> тело>
Попробуй сам »
См. другой пример, где контур: нет; устанавливается для полей ,
Пример удаления выделения ввода:
<голова>Название документа <стиль> вход, текстовая область { отступ: 5px; } охватывать { дисплей: блок; отступ: 15px 0 3px; } ввод: фокус, текстовая область: фокус, выбрать: фокус { контур: нет; } стиль> голова> <тело>Удалена подсветка ввода для ввода, текстовой области и полей формы выбора
<форма> Поле ввода: <тип ввода="текст"> Текстовое поле: <текстовое поле>текстовое поле> Поле выбора: <выбрать> выбрать> форма> тело>
Попробуй сам »
Граница HTML только вокруг текста
Последнее обновление: 1 января 2023 г.
IN — HTML
границы вокруг некоторых текстов.
Это творческий способ отображения текста в формате html. Есть много способов, с помощью которых вы можете применить рамку только вокруг текста.
Здесь мы покажем вам, как применять границы с помощью различных тегов. Итак, чтобы вы понимали, что границу можно применить к любому тегу в html, из которого мы можем вставить текст.
Пошаговое руководство по HTML-рамке только вокруг текста :-
Как мы уже говорили, есть много способов, с помощью которых вы можете вставить границу вокруг текста.
Ниже мы покажем html-код, в котором мы применяем рамку вокруг текста с помощью различных тегов. Давайте разберемся в них один за другим.
<голова> <мета-кодировка="UTF-8">Документ голова> <тело>Lorem ipsum dolor sit amet consectetur adipisicing elit. Officiis ratione tempora necessitatibus at sequi quos!
<дел> Lorem ipsum dolor sit amet consectetur adipisicing elit. Officiis ratione tempora necessitatibus at sequi quos!
Lorem ipsum dolor sit amet consectetur adipisicing elit. Officiis ratione tempora necessitatibus at sequi quos!
<диапазон> Lorem ipsum dolor sit amet consectetur adipisicing elit. Officiis ratione tempora necessitatibus at sequi quos! тело>
- Сначала мы пишем , который мы использовали как указание веб-браузеру о том, в какой версии HTML-файла записан файл.
- Во-вторых, тег используется для обозначения начала HTML-документа.
- Как и выше, теперь тег используется для хранения информации о веб-странице.
- В этом теге используется тег
, который помогает нам указать заголовок веб-страницы. Оба тега и являются парными тегами. - Итак, у обоих есть закрывающие теги и соответственно.
- В-третьих, тег используется для определения тела веб-страницы. Все содержимое для отображения на веб-сайте написано здесь.
- Здесь мы создаем четыре разных тега: абзац, раздел, заголовок и диапазон. И во всех из них мы пишем какой-то текст, и текст во всех тегах одинаков.
- После этого в атрибуте стиля всех тегов мы используем рамку толщиной примерно 1 пиксель сплошного черного цвета. Где 1px — ширина границы, сплошной — стиль границы, а черный — цвет границы.
- Вы можете настроить их по своему выбору. Вы можете увидеть нашу настройку в html-коде.
- Теперь вам решать, как сделать это творчески, вы можете изменить ширину границы, стиль границы, цвет границы, цвет фона, цвет текста, вы можете добавить поля, добавить отступы и многое другое, что вы можете сделать.
- Вы также можете применить к ним радиус границы. Теперь вам решать, как вы можете сделать это творчески или использовать его для лучшего понимания и представления.