Próbowałem znaleźć sposób wyśrodkowania tekstu w pionie, ale nie mogę znaleźć zadowalającej odpowiedzi. Najlepszą odpowiedzią, jaką znalazłem do tej pory, jest this. To sprawia, że wygląda tak, że pozwala mi wyśrodkować tekst w pionie, ale jeśli użyję tego i dodaję więcej tekstu, zostanie on rozciągnięty tylko do dołu i nie będzie ponownie wycentrowany, jak to, co dzieje się w poziomie.Jak wyśrodkować tekst w pionie za pomocą css
Uwaga, szukam rozwiązania tylko CSS, więc nie proszę javascript. Uwaga, chcę móc dodawać wiele linii tekstu.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<style type="text/css">
div#maindiv {
width: 810px;
height: 99px;
background-color: black;
margin: 0px;
padding: 0px;
color: white;
font-family: Sans-serif;
text-align: center;
display: table;
}
div#maindiv span {
font-size: 1.1em;
}
div#part1 {
width: 270px;
height: 99px;
background-color: #6DCAF2;
float: left;
vertical-align: middle;
position: relative;
}
div#horizon1 {
background-color: green;
height: 1px;
left: 0;
overflow: visible;
position: absolute;
text-align: center;
top: 50%;
visibility: visible;
width: 100%;
}
div#content1 {
background-color:green;
height:99px;
width: 270px;
position: absolute;
top: -50px;
}
</style>
<title>XHTML-Strict</title>
</head>
<div id="maindiv">
<body>
<div id="part1">
<div id="horizon1">
<div id="content1">
<div id="bodytext1">
<span>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas dolor augue, faucibus quis sagittis
<span>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
Na koniec chcę mieć 3 bloki, każdy z nich wyśrodkowuje tekst na środku. Te teksty są edytowane przez klientów, więc muszą być w stanie rozciągnąć się na wiele linii. Obecnie tekst zaczyna się na górze pudełka i idzie na sam dół, na końcu chcę, aby tekst zaczynał się od punktu, w którym środek tekstu znajduje się pośrodku ramki.
Moje ostateczne rozwiązanie, Uwaga: wyrównanie w pionie nie działa, jeśli masz zmienną: pozostawiono w tym samym dziale div.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<style type="text/css">
div#maindiv {
width: 810px;
height: 99px;
background-color: black;
margin: 0px;
padding: 0px;
color: white;
font-family: Sans-serif;
}
div#maindiv span {
font-size: 1.1em;
}
div.part {
width: 262px;
height: 99px;
padding: 0px;
margin: 0px;
padding: 4px;
border: 0px;
color: white;
text-align: center;
display: table-cell;
vertical-align: middle;
}
div.bgc1 {
background-color: #6DCAF2;
}
div.bgc2 {
background-color: #2A4B9A;
}
div.bgc3 {
background-color: #FF8A00;
}
</style>
<title>XHTML-Strict</title>
</head>
<div id="maindiv">
<body>
<div style="float: left;">
<div class="part bgc1">
<span>
Vegeta! What does the scouter say about his power level?!
</span>
</div>
</div>
<div style="float:left;">
<div class="part bgc2">
<span>
It's over NINE THOUSAAAAAAAAAND!
</span>
</div>
</div>
<div style="float:left;">
<div class="part bgc3">
<span>
What NINE THOUSAND? There is no way that can be right!
</span>
</div>
</div>
</div>
</body>
</html>
można zamieszczać aktualny kod? pierwsze pytanie brzmi: "w czym chcesz umieścić tekst w centrum?" – ptriek
Istnieje wiele metod dostępnych tutaj: http://www.vanseodesign.com/css/vertical-centering/ Jeśli mógłbyś udostępnić kod, którego używasz, być może pomożemy przy konkretnym rozwiązaniu. –
Innym sposobem css jest umieszczenie tekstu w komórce tabeli; w przeciwnym razie będziesz musiał użyć js – mreq