CSS Flex растягивает ссылки

Итак, я немного больше узнаю об использовании CSS Flex вместо статического позиционирования контента. Тем не менее, я определил свои стили ссылок, а также выделенные жирным шрифтом. Я предполагаю, что он адаптируется к контейнеру, который находится внутри (который использует функцию гибкости), и поэтому он растягивается по размеру контейнера, в котором он находится. У меня вопрос, как мне это исправить? Я видел, что могу использовать "display: inline-block" для ссылки, но это не помогло.

Вот мой код:

.container{

display: -webkit-flex;
display: flex;
-webkit-flex-flow: row wrap;
flex-flow: row wrap;
width: 80%;
margin: auto;
background-color:#fff;
overflow: hidden;
font-size: 15px;
line-height: 20px;
padding:1em;

}

.container > * {
padding: 15px;
-webkit-flex: 1 100%;
flex: 1 100%;
}

a{
text-decoration:none;
border-bottom-style:double; 
border-bottom-width:2px;
color:#99d3df;
display:inline-block;
padding:0px;
overflow: hidden;

}

i{
display:inline-block;
color:#88bbd6;
text-decoration:italic; 
}

И что у меня есть:

This is a <a href = "http://google.com">Google Link</a><BR>
Google is <i>extremely helpful</i>!

Вот как это выглядит для справки. Проблемное изображение

Улучшение производительности загрузки с помощью 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
0
653
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Он работает нормально, когда я пробовал ваш код в скрипке js

см. на этом изображении as tried in js fiddle

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

Ответ принят как подходящий

Похоже, вы пропустили div-оболочку .container в предоставленной вами разметке.

Посмотрим на этот код:

<!-- HTML -->
<div class = "container">
  <span>This is a </span><a href = "http://google.com">Google Link</a
</div>
<div class = "container">
  <span>Google is </span><i>extremely helpful</i>!
</div>
<!-- /HTML -->

/* CSS */
.container > * {
  padding: 15px;
  -webkit-flex: 1 100%;
  flex: 1 100%;
}

Свойство flex со значением 1100% означает, что мы говорим браузеру, что любые элементы (звездочка *), вложенные в .container, должны иметь ширину 100% от ширины их родительского элемента.

Я предлагаю вам просто удалить эту часть, чтобы решить проблему.

Вот мой подход к вашей разметке.

.container {
  display: flex;
  width: 80%; /* flexible value */
  flex-direction: row; /* this is to make sure that we'll have side-to-side layout within .container */
}

a {
  text-decoration: none;
  border-bottom-style: double;
  border-bottom-width: 2px;
  color: #99d3df;
  display: inline-block;
  padding: 0px;
}

a, i{
 margin-left: 5px; /* this is to give a 10px spacing */
}
<div class = "container"><span>This is a </span><a href = "#">random link</a><span></span></div>
<div class = "container"><span>Google </span><i>is extremely helpful! </i></div>

Я понял, что забыл поместить текст в div .container, и поэтому он, похоже, работает нормально. В конце концов я понял, что это произошло из-за контейнера, и этот подход, похоже, решил мою проблему :) Спасибо

Peter Wilkins 20.04.2018 17:29

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