2010-11-19 5 views
1

У меня есть текст в <div>, который я хочу по центру по вертикали. Любой простой способ сделать это (не абсолютный метод позиционирования).Есть ли простой способ центрировать текст по вертикали в div?

+0

Какие браузеры вы должны поддерживать? –

+0

Я думаю прямо сейчас ie7 и вверх, хром, сафари, firefox 3 и до – chromedude

+0

одна строка или несколько строк текста? – Larsenal

ответ

7

это еще один способ:

http://jsfiddle.net/SebastianPataneMasuelli/V2D3L/1/

трюк состоит в том, чтобы сделать высоту div той же величиной, что и высота линии.

<div>some text</div> 

div { 
line-height: 100px; 
height: 100px; 
} 

Это дает вам линию вертикально-центрированного текста.

есть способ: http://www.jakpsatweb.cz/css/css-vertical-center-solution.html.

извините, что использует абсолютное позиционирование.

(но это работает)

0

Нет, к сожалению, нет хорошего способа сделать это с помощью CSS. Я бы предложил использовать фреймворк javascript, такой как JQuery, или что-то подобное, чтобы достичь этого. Это просто текст, который вы пытаетесь вертикально сосредоточиться?

Кроме того, я знаю, что многие люди неохотно используют таблицы, однако html-таблицы позволят вам вертикально центрировать ваш текст, чтобы можно было быстро работать, если вы не хотите использовать javascript для достижения этого.

Поэтому я предполагаю, что он либо использует некоторый javascript, либо избегает использования html-таблиц или просто использует таблицы для вертикального центрирования для вас.

Только для справки вы используете атрибут valign для элемента td таблицы для вертикального выравнивания его содержимого.

Вы могли бы сделать что-то вроде этого:

<div id="center-text"> 

    <div id="center-text-inner"> 
    hello there 
    </div> 

</div> 

$(document).ready(function() { 

    $('#center-text-inner').css({ 
    'position' : 'relative', 
    'top' : ($('#center-text').height() - $(this).height())/2 
    }); 

}); 
+0

ah ... не думал о javascript, я на самом деле сильно использую javascript и фреймворк jquery, и что именно в этом вы говорите? – chromedude

Смежные вопросы