Oříznutí dlouhého textu

Má-li se delší text vyjít do přesného místa, je třeba kousek textu uříznout.

5 minut

Pro oříznutí jednořádkového textu čistě v CSS stačí:

  • zrušit zalamování (white-space: nowrap),
  • omezit šířku (width),
  • element oříznout (overflow: hidden).
Text, který bude na konci uříznutý a další text nebude vidět.

Plynulé uříznutí do ztracena

Aby nebyl text nepěkně useknut uprostřed písmene, může vzhled zlepšit překrytí plynulým přechodem. To zajistí element s přechodem na pozadí, který se absolutně naposicuje. Napříč prohlížeči funkční CSS přechod lze snadno vygenerovat.

Text, který bude na konci uříznutý a další text nebude vidět.

Tři tečky (vlastnost text-overflow)

CSS umí přebytečný text nahradit výpustkou () při uvedení:

.text {text-overflow: ellipsis}
Text, který bude na konci uříznutý a další text nebude vidět.

Animované odkrývání textu

Ve výše uvedených řešeních je trochu nepraktické, že se k oříznutému textu nepůjde dostat. Co takhle po najetí myší text posunout, aby byl vidět celý?

Text, který bude na konci uříznutý a další text nebude vidět.

Využívá se triku s CSS vlastností transition, kdy se mění max-width. Pro přesnou animaci by proto bylo nejspíš nutné použít JavaSript.

Oříznutí v PHP/MySQL

Oříznout text je možné i na straně serveru. Přesné ořezávání na serveru je ale složitější na údržbu. Stačí u textu třeba jen změnit velikost písma nebo jeho font a shodný počet znaků bude mít různé rozměry.

PHP

$pocetZnaku = 10;
$text = mb_substr($text, 0, $pocetZnaku);

MySQL

SELECT SUBSTR(sloupec, 1, 10) FROM tabulka;

Zkrácení textu s HTML značkami je trochu komplikovanější.

Co si myslíte o tomto článku?

Diskuse

Související články

CSS item-pack: balance – vyvážené rozložení flex položek

Vlastnost item-pack: balance rozděluje flex položky rovnoměrně mezi řádky, podobně jako text-wrap: balance vyvažuje řádky textu.

11 minut

CSS Container Queries – responsivní komponenty

Jak pomocí @container, container-type a container-name vytvářet komponenty, které se přizpůsobí velikosti svého rodiče místo viewportu.

16 minut

CSS Anchor Positioning – posicování elementů relativně k jiným

Jak pomocí anchor-name, position-anchor a funkce anchor() posicovat elementy relativně k jiným bez JavaScriptu.

6 minut

Centrování na webových stránkách

Moderní způsoby vertikálního i horizontálního centrování v CSS. Flexbox, Grid, margin auto a další techniky.

8 minut

Novinky e-mailem

Když budu mít něco opravdu zajímavého, můžu vám to poslat e-mailem

Přidej se k 500+ čtenářům
Jen kvalitní obsah
Žádný spam

Web jecas.cz píše Bohumil Jahoda, kontakt
Seznam všech článků · Témata · Zkratky
2013–2026