При верстке макета столкнулся с такой задачей. Имеется логотип, внутри которого необходимо разместить текст.
Логотип создается с помощью элемента - заголовка первого уровня
. Внутри этого блочного элемента размещается ссылка. Решений подобной задачи в Интернете вроде бы много, но вот конкретно не нашел под себя. Решил с помощью форума 1
h1
.1
forum.htmlbook.ru
Необходимо сделать также, как и на psd-макете. Чтобы текст располагался по-вертикали по-центру, и был смещен при этом вправо. Часть html-кода, в котором создается логотип со ссылкой, показана ниже:
С установкой фонового изображения проблем не возникает. Задаю ширину и высоту для блока h1 равной ширине и высоте логотипа. И прописываю для него картинку в качестве фона.
Текст-ссылку внутри блока также стилизую в соотвествии с тем, как она изображена на макете. А вот центрование текста - здесь есть некоторая тонкость. Спасибо SelenIT, что кратко и точно объяснил, как поступать в данном случае.
Итак. С помощью свойства
превращаю блочный элемент 1
display: table
в табличный. Это делается для того, чтобы можно было разместить текст строго по центру вертикали, так как только таблица имеет свойство 1
h1
.1
vertical-align
Строчный элемент
, то есть ссылка, теперь расположена внутри таблицы. Поэтому превращаю ее в ячейку таблицы с помощью правила 1
а
. Теперь можно применить к содержимому этой ячейки свойство 1
display: table-cell
, тем самым размещая ее по-центру по-вертикали.1
vertical-align: middle
Осталось сместить текст вправо на заданную величину. Это выполняется с помощью правила
.1
padding-left: 80px
Ниже привожу кусок кода, отвечающего за стилизацию логотипа сайта:
Вот задача и решена. Разобрался с центрирование текста по-вертикали с помощью правил
, 1
display: table
, 1
display: table-cell
.1
vertical-align: middle
На этом все.