Я пытаюсь сделать что-то очень классическое для обработки текста, но, очевидно, менее распространенное в CSS. Я помещаю информацию о фильме на веб-сайт и хочу отформатировать информацию следующим образом:
Режиссер: Джон Смит
В ролях: человек А
Человек B
Человек C
Сценарист: Джеймс Смит
Да, так как мне это сделать? Проблема в том, что я пытаюсь отформатировать заголовки (режиссер, актерский состав и т. Д.) Иначе, чем обычный текст. Вот что у меня есть прямо сейчас:
<div>
<h3>Director: <span style="font-weight:300;">John Carney</span></h3> <h3>Writer: <span style="font-weight:300;">John Carney</span></h3>
<h3>Cast: <span style="font-weight:300;">Keira Knightley<br>Mark
Ruffalo</span></h3>
</div>
Любая помощь приветствуется, спасибо!
5 ответов
Как насчет того, чтобы основывать его на списке описаний, как предлагает @vch?
Демо: http://jsfiddle.net/dt2v7zys/2/
<dl>
<dt>Director:</dt>
<dd>John Carney</dd>
<dt>Writer:</dt>
<dd>John Carney</dd>
<dt>Cast:</dt>
<dd>
<ul>
<li>Keira Knightley</li>
<li>Mark Ruffalo</li>
</ul>
</dd>
</dl>
Создан с использованием ...
dt {
float: left;
width: 80px;
padding: 4px;
}
dd {
margin-left: 88px;
padding: 4px;
}
В качестве альтернативы dt
может иметь несколько значений dd
, которые определяют / описывают его, например:
Демо: http://jsfiddle.net/dt2v7zys/1/
<dl>
<dt>Director:</dt>
<dd>John Carney</dd>
<dt>Writer:</dt>
<dd>John Carney</dd>
<!-- note the multiple values for a single dt -->
<dt>Cast:</dt>
<dd>Keira Knightley</dd>
<dd>Mark Ruffalo</dd>
<dt>Producer:</dt>
<dd>Another Guy</dd>
</dl>
Сделать это можно так:
<div>
<h3><span>Director:</span>John Carney</h3>
<h3><span>Cast:</span>Keira Knightley<br>Mark Ruffalo</h3>
<h3><span>Writer:</span>James Smith</h3>
</div>
И тогда в вашей таблице стилей:
h3 {
font-weight: normal;
padding-left: 200px;
}
h3 span {
display: inline-block;
min-width: 200px;
height: 100%;
font-weight: bold;
margin-left: -200px;
}
Для этого html вы можете использовать следующий css:
h3 {
font-weight: bold;
}
h3 span {
font-weight: normal;
}
Думаю, вам нужен список определений: <dl>, <dt>, <dd>
. Есть несколько примеров, в том числе css здесь.
?
dt
как хотите, например. jsfiddle.net/dt2v7zys/3. Или, если у вас уже есть стиль, определенный для h3
, вы можете скопировать его в селектор dt
.
У вас есть массив (матрица) данных, поэтому наиболее логичная разметка использует элемент HTML table
. Также он самый простой с точки зрения стилизации. Как минимум, вам просто нужно установить выравнивание ячеек заголовка по левому краю (вместо центрирования по умолчанию) и вертикальное выравнивание ячеек по верху (вместо середины по умолчанию):
<style>
th { text-align: left }
th, td { vertical-align: top }
</style>
<table>
<tr><th>Director: <td>John Smith
<tr><th rowspan=3>Cast:<td>Person A
<tr><td>Person B
<tr><td>Person C
<tr><th>Writer: <td>James Smith
</table>
По умолчанию элементы th
отображаются жирным шрифтом. Различие между обычным и жирным шрифтом (font-weight: normal
и font-weight: bold
) - единственный надежный способ изменить толщину шрифта, поскольку у большинства шрифтов нет другой толщины. Это означает, что для большинства шрифтов font-weight: 300
вызывает использование шрифта с нормальным весом.
Похожие вопросы
Новые вопросы
html
HTML (язык гипертекстовой разметки) — это язык разметки для создания веб-страниц и другой информации, отображаемой в веб-браузере. Вопросы относительно HTML должны включать минимальный воспроизводимый пример и некоторое представление о том, чего вы пытаетесь достичь. Этот тег редко используется отдельно и часто в паре с [CSS] и [JavaScript].
br
для разделения элементов. Если ненумерованный список не нужен, можно использовать вторую демонстрацию (несколькоdd
).