Autor Zpráva
makovjan
Profil
Dobrý den,

potřebuji hodnotu v buňce vycentrovat i vertikálně. Pokud přidám: vertical-align: middle, tak mi to pořád nefunguje.

Mám tento kód:
<html>

<head>
</head>

<body>

<table border="0" width="100%">

<style>
td a { width: 100%; height: 100%; text-align: center; 
background-color: blue;
display: block; color: white}
td a:hover { background-color: red}
a:link, a:visited    {text-decoration: none;}
</style>

<TR> 
<TD width="100%" height="50"><a href="http://www.idnes.cz">IDNES</a></TD>
</TR>
 
</table>
        
</body>

</html>
Keeehi
Profil
Nastav si line-height na stejnou výšku jako výšku buňky. Tedy line-height: 50px;
Ale pozor, fungovat to bude jen pro jednořádkové texty. Ale to ti vadit asi nemusí.
Bubák
Profil
Element style má být v HEAD;
Koukni na Vertical-align, dole 3. bod. Pokud máš v buňce tabulky nějaký element, ty tam máš odkaz, tak vertical-align platí pro ten element, niloliv pro obsah toho elementu, bo vlastnost vertical-align se nedědí, na rozdíl od třebas align, color...
Rada od Keeehiho je správná. pro víceřádkové texty nějak takto:
<html>
<head>
    <style>
        table {
            width: 100%;
        }
        td a {
            display: table-cell;
            width: 1%;
            height: 100px;
            text-align: center;
            background-color: blue;
            color: white;
            vertical-align: middle;
        }
        td a:hover {
            background-color: red;
        }
        a:link,
        a:visited {
            text-decoration: none;
        }
    </style>
</head>

<body>
    <table>
        <tr>
            <td><a href="http://www.idnes.cz">ZITRA<br>IDNES</a></td>
        </tr>
    </table>
</body>
</html>
Radek9
Profil
Bubák:
Případně modernější a podle mě čistší řešení přes flexbox:
td a {
  display: flex;
  justify-content: center;
  align-items: center;
}
makovjan
Profil
Keeehi:
děkuji


Bubák:
díky


Radek9:
díky

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0