2010-11-11 3 views
3

Я пытаюсь добиться чего-то и не могу этого сделать.CSS Текст, выделенный внутри DIV

У меня есть div с фиксированной высотой & ШИРИНА. Я хочу, чтобы текст был центрирован по вертикали.

до сих пор мне удалось сделать так:

<div> 
    <a>this is a long text</a> 
</div> 

и это будет выглядеть как этот

------------- 
This is a long 
    text 
------------- 

, который является большим

Но если линия не будет обернуть это будет выглядят следующим образом

------------ 
This is short 

------------- 

.the-div 
{ 
height:29px; 
line-height:14px !important; 
} 

.the-a 
{ 
font-size:12px; 
} 

Мне нужно, чтобы это тоже ценилось!

Я попытался с помощью высоту строки и играть это с JS, чтобы понять, если его упаковки или нет, а затем изменение высоты строки соответственно

Спасибо за помощь

+2

вы можете разместить ваш CSS –

ответ

-2
div a{ 
margin-top:auto; 
margin-bottom:auto; 
} 
+0

не работает ..... – Himberjack

+0

как о обивка авто, для DIV? – Edmhs

+0

padding auto не работает. Я боюсь –

2

попробовать этот пример

http://jsfiddle.net/fcalderan/3HBC4/1/

+0

работает только в том случае, если его обертывание ... если его одна строка будет сверху – Himberjack

+0

нет, она работает в любом случае даже на одной строке. Скопируйте все CSS и обратите внимание на условные комментарии к тегу body. – 2010-11-11 10:42:28

+0

я сделал. Но единственное различие заключается в том, что в примере его LI -> SPAN, у меня есть DIV -> ANCHOR – Himberjack

0

если вы сделаете высоту линии так же, как высота DIV, он будет автоматически вертикальный центрируется

the-div 
{ 
height:29px; 
line-height:29px !important; 
} 
0

Для вертикальных выровнено, а также, вы должны будете использовать некоторый дисплей в качестве таблицы писак. Это позволит вам использовать vertical-align:middle;, добиваясь того, что я считаю вам нужным.

Example

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