Jump to content
  • 0

центрирование повернутого текста


SnowCatcher
 Share

Question

добрый день! делаю выплывающее боковое меню. поворот его заголовка с помощью css делается так

.boxRotateLeft{
-webkit-transform: rotate(270deg); /* Saf3.1+, Chrome */
-moz-transform: rotate(270deg); /* FF3.5+ */
-ms-transform: rotate(270deg); /* IE9 */
-o-transform: rotate(270deg); /* Opera 10.5 */
transform: rotate(270deg);
zoom: 1;
display:block;
}

вопрос: как отцентрировать этот текст по-вертикали? дело в том, что для разных языков высота будет разная. вариант с картинками мне не подходит

вот еще сама разметка


<div id="hide" style="float:left;">
<img src="img/hide.png">
<span class="boxRotateLeft">hide</span>
</div>

Edited by SnowCatcher
Link to comment
Share on other sites

Recommended Posts

  • 0

для каждого языка - не вариант. другое дело, если бы можно было высчитать высоту этого спана - и рассчитывать скриптом маргин (внешняя дивка "hide" у меня связана высотой). но при повороте высота спана считается как ширина "hide"

Edited by SnowCatcher
Link to comment
Share on other sites

  • 0

для каждого языка - не вариант. другое дело, если бы можно было высчитать высоту этого спана - и рассчитывать скриптом маргин (внешняя дивка "hide" у меня связана высотой). но при повороте высота спана считается как ширина "hide"

у #hide вообще какие-то размеры есть?

Link to comment
Share on other sites

  • 0

да, высота 110px; ширина 20px

высота картинка 16px

Погоди, а text-align: center; не помогает что ли?

А дай тестовую страницу с примером посмотреть.

неа, не помогает. первым делом попробовал. вот, можете поколдавать, картинку не прилагаю)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1">
<style type="text/css">
.boxRotateLeft{
-webkit-transform: rotate(270deg); /* Saf3.1+, Chrome */
-moz-transform: rotate(270deg); /* FF3.5+ */
-ms-transform: rotate(270deg); /* IE9 */
-o-transform: rotate(270deg); /* Opera 10.5 */
transform: rotate(270deg);
zoom: 1;
display:block;
}
</style>
</head>
<body>
<div id="hide" style="float:left;height:110px;background-color:#999999;width:20px;">
<img src="img/hide.png">
<span class="boxRotateLeft">hide</span>
</div>
</body>

вобщем, без display:block; я смог узнать ширину. буду ее запоминать, делать маргин-топ, а после этого выставлять атрибут.

пойду попробую :)

Edited by SnowCatcher
Link to comment
Share on other sites

  • 0

не помогает. говорю же, пробовал с самого начала.

Конеша не поможет. Ты display:block; то убери у спана)

увеличте количество букв в слове hide

sigma77

простите сердешна. width:20px; у дивки не выставил. в 8 посте написал об этом, а в код не добавил.

Link to comment
Share on other sites

  • 0

Так не пойдёт? В мозиле проверь.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1">
<style type="text/css">

.boxRotateLeft{

text-align: center;
line-height: 0;
font-size: 0;
letter-spacing: -.25em;

}
.one {
display: inline-block;
background: red;
vertical-align: middle;
-moz-transform: rotate(90deg);
line-height: normal;
font-size: 14px;
letter-spacing: normal;



}
.helper { line-height: normal;
font-size: 12px;
letter-spacing: normal; background: blue; width: 0px; display: inline-block; height: 100%; vertical-align: middle;}
</style>
</head>
<body>
<div class="boxRotateLeft" style="float:left;background-color:#999999; width:25px; height: 120px;">

<span class="one">hide</span>
<span class="helper"></span>
</div>

</body>
</html>

Link to comment
Share on other sites

  • 0

psywalker здорово)))))

кароче дело к ночи. сделал такой вариант, всё работает независимо от количества букв.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1">
<style type="text/css">
.boxRotateLeft{
-webkit-transform: rotate(270deg); /* Saf3.1+, Chrome */
-moz-transform: rotate(270deg); /* FF3.5+ */
-ms-transform: rotate(270deg); /* IE9 */
-o-transform: rotate(270deg); /* Opera 10.5 */
transform: rotate(270deg);
zoom: 1;

}
</style>
<script type="text/javascript" src="jquery-1.6.1.min.js"></script>
<script type="text/javascript">
function load(){
nWidth = $(".boxRotateLeft").width();
nMarginHideSpan = ( $("#hide").height() - $("#hide img").height() - nWidth )/2;
$(".boxRotateLeft").css({"margin-top": nMarginHideSpan, "display": "block", "height": nWidth, "width": nWidth});
}
</script>
</head>
<body onLoad="load()">
<div id="hide" style="float:left;height:110px;background-color:#999999;width:20px;">
<img src="img/hide.png">
<span class="boxRotateLeft">hifgdhde</span>
</div>
</body>

всем спасибо в этом форуме

вот на что хватило меня

спасибо! завтра обязательно разберу

Edited by SnowCatcher
Link to comment
Share on other sites

  • 0

Макс, а куда картинку вставлять в твоем примере? Ты пробовал с картинкой проверять?

Картинку можно вставить абсолютом и прижать к верху например. А вообще ты у нас тут главный по CSS3, поэтому сам и выкручивайся) ;)

Link to comment
Share on other sites

  • 0

Макс, а куда картинку вставлять в твоем примере? Ты пробовал с картинкой проверять?

Картинку можно вставить абсолютом и прижать к верху например. А вообще ты у нас тут главный по CSS3, поэтому сам и выкручивайся) ;)

абсолютом у меня вообще не получится, потому что панелька выезжающая

эх, ща проверил свой код - верстка уехала(

Edited by SnowCatcher
Link to comment
Share on other sites

  • 0

Макс, а куда картинку вставлять в твоем примере? Ты пробовал с картинкой проверять?

Картинку можно вставить абсолютом и прижать к верху например. А вообще ты у нас тут главный по CSS3, поэтому сам и выкручивайся) ;)

:blush: про Selenit'a забыл, да? Сейчас он придет и че-нибудь сделает :D

Link to comment
Share on other sites

  • 0

вот на что хватило меня

огромное спасибо. поправил только

.boxRotateLeft{
-webkit-transform-origin:30px 30px;
-moz-transform-origin: 30px 30px;
-o-transform-origin:30px 30px;
-ms-transform-origin:30px 30px;
transform-origin:30px 30px;
width:20px;
}

вёрстка не едет, всё идеально!

Edited by SnowCatcher
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy