by zhangxinxu from Ууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууу
Эта статья может быть воспроизведена в полном тексте без разрешения при условии сохранения оригинального автора, источника и ссылок в тексте.
1. Кто-то задал мне вопрос по CSS
некоторое время назад@Зовите меня мистер ХанВ личном сообщении мне был задан следующий вопрос:
Слова на скриншоте немного меньше, и я их переставил:
Требования темы:
Максимальная ширина тега P не может превышать 10 % ширины текста тега H2.Здесь должно быть так, что максимальная ширина тега P определяется шириной предыдущего анонимного встроенного элемента (то есть шириной большого размера шрифта).Пожалуйста, обратитесь к GIF для конечного желаемого эффекта.
- Теги H2 не могут терять высоту (высота текста H2 + высота тега P = высота тега H2)
HTML-структура(модификация не допускается)
<h2> IPHONE XR<br> IS THE FUCKING<br> BEST EVER MADE <p>iPhone XR has not been authorized as required by the rules of the Federal Communications Commission. iPhone XR is not, and may not be, offered for sale or lease, or sold or leased, until authorization is obtained.</p> </h2>
Основные стили CSS
h2{ font-size: 52px; font-weight: bold; color: #000; } p{ font-size: 12px; color: #333; }
первоначальный эффект
желаемый эффект
Я хотел бы спросить, если у вас есть идеи для реализации, вы можете написать соответствующий код CSS вЭта онлайн демонстрация(Откройте браузер Chrome) Область «Ваш CSS», вы можете увидеть эффект в реальном времени:
Теперь вы можете использовать свой мозг, чтобы понять, как этого добиться...
·
·
·
·
·
·
Если у вас нет идей или вы хотите увидеть реализацию других людей, вы можете продолжать смотреть вниз.
Два, несколько методов реализации макета
Сначала покажите мою реализацию:
h2 {
width: min-content;
white-space: nowrap;
}
p {
white-space: normal;
}
Вы можете нажать здесь:Демонстрация реализации макета под min-content
Эффект следующий:
width:min-content
Указывает, что ширина уменьшена до минимума. Если это состояние по умолчанию, ширина должна быть шириной самого узкого слова.white-space:nowrap
, следовательно, ширина равна ширине самой длинной строки символов (если вы не понимаете, то можете купить копию "Мира CSS", в которой есть подробное объяснение), т.к. установлен тег Pwhite-space:normal
, поэтому окончательная ширина равна ширине самой длинной строки заголовка с большим шрифтом, и желаемый эффект, наконец, достигается. если правильноmin-content
Я еще мало что знаю об этом, см.Понимать максимальное/минимальное содержимое CSS3, подходящее содержимое и другие значения ширины."Эта статья.
Ниже приведена реализация вопросника:
h2 {
display: table;
}
p {
display: table-caption;
caption-side: bottom;
}
Вы можете нажать здесь:Демонстрация реализации макета под min-content
Эффект следующий:
Этот метод лучше и совместимее (IE8+).
display:table-caption
Указывает, что уровень отображения элемента представлен в виде заголовка таблицы, который автоматически адаптируется к ширине контейнера внешней таблицы.caption-side:bottom
Вы можете установить заголовок таблицы внизу, аdisplay:table
Ширина элементаauto
Когда он выполняется, он «усаживается по размеру», поэтому достигается желаемый эффект.
3. Добро пожаловать, чтобы добавить свой метод реализации
Различные свойства CSS подобны основным элементам, из которых состоит мир.Для достижения определенного эффекта часто существует несколько комбинаций, каждая со своими преимуществами и недостатками.Я полагаю, что здесь будут и другие методы реализации макета. Вы можете добавить их.
Конечно, если у вас есть навыки CSS, которые вы считаете хорошими, вы можете общаться со мной, и я также могу пройти тест!
"Мир CSS"Подписанная версия является эксклюзивной, бесплатная доставка, можно указать сообщение,Нажмите, чтобы показать код покупки(Конец этой статьи) // Хотите награду? нажмитездесь. Есть что сказать? нажмитездесь.