Как убрать подчеркивание текста-декорации; из элемента span внутри родителя flex?

Я хочу удалить подчеркивание из тега <span> внутри тега <p>, который имеет свойство display: flex;.

Тег <p> в моем случае должен быть гибким.

Я уже искал эту проблему в Интернете и нашел решения, которые не применимы к гибкому родителю.

Они сказали, что добавление text-decoration: none; и display: inline-block; в диапазон должно решить проблему, но это не так.

<p style = "display: flex; gap: 10px; text-decoration: underline;">
    This should have underline
    <span style = "text-decoration: none; display: inline-block;">This should not have underline</span>
</p>

Спасибо за ваши ответы. Я реструктурировал свой HTML на основе ответа Темани Афифа. Я понял, что использовать flex в <p> — плохая идея и результат спешки. Если вы хотите использовать flex, всегда используйте его в таких контейнерах, как div.

ctrlshifti 02.05.2024 22:01
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
0
1
68
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Удалить display:flex; на <p> должно сработать.

<p style = "text-decoration: underline;">
  This should have underline
  <span style = "text-decoration: none; display: inline-block;">This should not have underline</span>
</p>

Было особое требование, чтобы элемент p был гибким.

A Haworth 02.05.2024 06:04

Если важно не менять структуру HTML, есть несколько хитрый способ добиться правильного визуального эффекта — явно подчеркнуть диапазон с цветом того же цвета, что и фон, в данном случае белым.

<p style = "display: flex; gap: 10px; text-decoration: underline;">
  This should have underline
  <span style = "text-decoration: underline; text-decoration-color: white;">This should not have underline</span>
</p>
Ответ принят как подходящий

Никогда не следует превращать текстовый контейнер в контейнер flexbox, но если вы хотите сохранить ту же конфигурацию, используйте float в диапазоне. Это не повлияет на макет, а просто отключит распространение подчеркивания.

<p style = "display: flex; gap: 10px; text-decoration: underline;">
    This should have underline
    <span style = "float: left;">This should not have underline</span>
</p>

Этот фрагмент у меня отлично работает в Windows 10 (Chrome/Edge), но не в IOS 16.... Safari.

A Haworth 02.05.2024 16:37

Другие вопросы по теме