> For the complete documentation index, see [llms.txt](https://digikiad.gitbook.io/digitalis-kiadvanyok/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://digikiad.gitbook.io/digitalis-kiadvanyok/css/szoevegek-szoevegkoezi-elemek.md).

# Szövegek, szövegközi elemek

## Szövegközi elemek jellemzői

A szövegközi elemek nem törik meg a szöveget sortöréssel,  egyszerűen úgy viselkednek, mint egy szó, vagy mondat.

```markup
<p>Lórum ipse nem kérlő linc, hanem izismély. <strong>Több ménylő 
fejtő hajszolta ki,hogy a sörökök kedő.</strong> Sítos egyveklőjét 
azért zubálja gyetlennek.</p>
```

![A strong elem szövegközi elem lévén több sorba törik.](https://4266704503-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LNfhge3bZW-4Qpjzwtx%2F-LV3puU5lqgeOPfIhqBf%2F-LV3qLwBF4LnYarmYVhv%2Finline.png?alt=media\&token=3dd3b70c-fea5-4295-90fc-b38f35d58be2)

A szövegközi megjelenítésű elemekre nem érvényesülnek a doboz modell tulajdonságok. Nem határozhatjuk meg a szélességüket, és a magasságukat, illetve nem működik a margó.

A `padding` (belső margó), és a `border` (keret) használható, a blokkos elemektől némileg eltérő módon.

CSS-el megváltoztathatjuk az elemek megjelenítési módját szövegközire:

```css
div {
    display: inline;
}
```

## Betűtípusok, bet**ű**családok

### **Betűcsalád (font-family)**

Betűcsaláddal határozhatjuk meg az elemeink szövegének a betűtípusát. Vesszővel elválasztva több betűtípust is megadhatunk, ezeket sorrendben megpróbálja betölteni a böngésző, ha az elsőt nem találja, megkísérli a következőt.

```css
p {
    font-family: Arial, Helvetica, sans-serif;
}
```

A fenti példában az első az **Arial** betűtípus, ami "minden" Windows-os gépen megtalálható, a második a **Helvetica**, ami nagyon hasonlít az Arial betűtípusra, de OSX operációs rendszeren elterjedt. A **sans-serif** általános betűcsalád (generic-family), a böngésző az ebbe a kategóriába eső elérhető fontok közül próbál egyet betölteni.

Több font felsorolásával, és általános betűcsalád megadásával biztosíthatjuk, hogy a böngésző kezelni tudja a szöveg betűt**í**pusát, hiányzó fontok esetén is.

**Általános betűcsaládok:**

* *serif*
* *sans-serif*
* *cursive*
* *monospace*
* *fantasy*

```markup
<p style="font-family: serif">Lorem ipsum dolor sit amet.</p>
<p style="font-family: sans-serif">Lorem ipsum dolor sit amet.</p>
<p style="font-family: cursive">Lorem ipsum dolor sit amet.</p>
<p style="font-family: monospace">Lorem ipsum dolor sit amet.</p>
<p style="font-family: fantasy">Lorem ipsum dolor sit amet.</p>
```

![](https://4266704503-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LNfhge3bZW-4Qpjzwtx%2F-LXV9muukNzKttxJ2i3O%2F-LXVA8OqlyWbM0IbvmDw%2Ffont-fam.png?alt=media\&token=0b1bc483-c84c-4d03-ae0e-36e0cc366bbc)

### **Web biztos fontok**

Web biztos fontok azok a betűkészletek, amik széles körben elérhetőek a különböző operációs rendszereken. Az első nagyobb csomagot a Microsoft adta ki 1996-ban **Core fonts for the Web** néven.

Az alábbi fontokat tartalmazza: *Andalé Mono, Arial, Arial Black, Comic Sans MS, Courier New, Georgia, Impact, Times New Roman, Trebuchet MS, Verdana, Webdings*

### **@font-face**

A `@font-face` segítségével mi is létrehozhatunk betűcsaládokat, és betölthetünk betűkészleteket a HTML állományainkba. Ehhez szükséges a böngészők számára is emészthető fontok (webfontok) használata.

{% tabs %}
{% tab title="@font-face" %}

```css
@font-face {
  font-family: 'MyWebFont';
  src: url('webfont.woff2') format('woff2'),
       url('webfont.woff') format('woff'),
       url('webfont.ttf')  format('truetype');
  font-weight: normal;
}

body {
  font-family: 'MyWebFont', sans-serif;
}
```

{% endtab %}

{% tab title="Magyarázat" %}

```css
@font-face {
  /* A font-family határozza meg a létrehozott betűcsalád nevét */
  font-family: 'MyWebFont';
  /* Az src-ben (source) adhatjuk meg a font 
     állományokat, vesszővel felsorolva. 
     A formátumot is meg kell adni, ez általában az
     állománykiterjesztéssel egyezik.
  */
  src: url('webfont.woff2') format('woff2'),
       url('webfont.woff') format('woff'),
       url('webfont.ttf')  format('truetype');
  /* Megadhatjuk a betűcsalád tagjának betűvastagságát is
     (vastagságonként egy @font-face-ben kell felvinni a fontokat) */     
  font-weight: normal;
}

body {
  /* Itt hivatkozunk a @font-face-ben létrehozott új betűcsaládra. */
  font-family: 'MyWebFont', sans-serif;
}
```

{% endtab %}
{% endtabs %}

{% hint style="info" %}
Az interneten elérhetőek `@font-face` generátorok, ezekkel egy adott fontból elkészíthetjük a böngészőkkel kompatibilis font állományokat, a webfontokat, és a szükséges CSS-t is. A legismertebb szolgáltatás a Font Squirrel (<https://www.fontsquirrel.com/tools/webfont-generator>). Egy jó alternatíva a Transfonter (<https://transfonter.org/>). Mindkét szolgáltató a letölthető állományok között ad egy HTLM állományt töltelékszöveggel, amiben megnézhetjük a generált fontokat.

Ha nem akarjuk mi kiszolgálni a font állományokat egy jó ingyenes alternatíva a Google font szolgáltatása (<https://fonts.google.com/>), ahol 500 fölötti fontot érünk el magyar ékezettel.
{% endhint %}

{% hint style="info" %}
Font formátumokról:

**EOT (Embedded Open Type)** - Az első webfont, de a böngészők közül csak a Microsoft Explorer/Edge böngészők támogatják. Már csak akkor használjuk, ha a webalkalmazásokat régi, elavult Microsoft böngészőkre is optimalizálni kell.

**TTF (True Type Font)** - Egy időben ez volt a legszélesebb körben támogatott webfont, bizonyos  újabb böngészőkben feltételes a támogatottsága.

**WOFF (Web Open Font Format)** - Új webfont formátum, ami gyorsabb letöltődés tesz lehetővé, a régi típusokhoz hasonló, de optimalizált, tömörített formátum. A modern böngészők már mind támogatják.&#x20;

**WOFF2 (Web Open Font Format v2)** - A WOFF2 még optimálisabb, kisebb, támogatottsága egyenlőre részleges, nem minden modern böngésző képes feldolgozni, így az egyes verzióval együtt érdemes használni.

**SVG (Scalable Vector Graphyc Font)** - Az SVG szabványon alapul, támogatottsága részleges, a modern böngészők csak egy része képes feldolgozni, ráadásul nem használ tömörítést, így az SVG fontok mérete túl nagy.
{% endhint %}

{% content-ref url="/pages/-LZR72\_HhNzjsE-LrzyA" %}
[Google Fonts](/digitalis-kiadvanyok/egyeb-eszkoezoek/google-fonts.md)
{% endcontent-ref %}

{% content-ref url="/pages/-LZRADHygcPypjdUBQTu" %}
[Font Squirrel](/digitalis-kiadvanyok/egyeb-eszkoezoek/font-squirrel.md)
{% endcontent-ref %}

## Betűméret (font-size)

A betűmérettel határozhatjuk meg a szöveg méretét. A böngészők a **nagy** **M** betű alapján méretezik a betűket (em méret), ezért az elterjedt mértékegységek a em, és a rem, illetve a pixelben megadott méret.

```css
p {
    font-size: 16px;
}

span {
    font-size: 1.125em;
}
```

![Különböző betűméretek pixelben meghatározva.](https://4266704503-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LNfhge3bZW-4Qpjzwtx%2F-LXU-BfftCAuFWdqXyHS%2F-LXU10FkR07j_EfL-4xc%2Ffont-size-px.png?alt=media\&token=a19d6ef2-9770-4d0c-bbec-0cb49d35dc6f)

## Betűvastagság (font-weight)

A `font-weight`-et (betűvastagságot) megadhatjuk kulcsszóval, vagy számmal (100-as lépésekben). Az hogy az adott érték érvényesül-e a szövegre nagyban függ az adott betűtípustól.

**Használható kulcsszavak:**\
*normal, bold, bolder, lighter*\
\
**Használható számértékek:**\
*100-900* -ig, ahol a *400* a normal méret, *700* a vastagon szedett (bold).

```css
p {
    font-weight: 400;
}

span {
    font-weight: bold;
}
```

Az hogy mely betű vastagság értéket lehet használni függ az adott fonttól. A legtöbb webfont, vagy rendszerfont a 400-as (normal), és a 700-as (bold) értékekeket támogatja csak.

![Open Sans betűtípus különböző betű vastagságai.](https://4266704503-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LNfhge3bZW-4Qpjzwtx%2F-LZ1QRJP1biaHyjJLRUW%2F-LZ1SmoD9ZPDdp9ntPKV%2Ffont-weight.png?alt=media\&token=59ca0426-2c4a-4ca4-bb99-e1d050ed2c56)

## Betűstílus (font-style)

A  betűstílussal tehetünk dőltté egy szöveget. Alapértéke a *normal*, a dőlt értékei *italic* vagy *oblique*.

```css
p {
    font-style: normal;
}

span {
    font-style: italic;
}
```

## Betűvariáns (font-variant)

Betűvariáns segítségével készíthetünk kiskapitális szöveget. A kiskapitális szövegben a kisbetűk is olyan alakúak, mint a nagybetűk, de magasságuk megegyezik a kisbetűk magasságával (bizonyos betűtípusoknál eltérhet). Alapértéke a *normal*.

```css
p {
    font-variant: normal;
}

span {
    font-variant: small-caps;
}
```

![](https://4266704503-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LNfhge3bZW-4Qpjzwtx%2F-LYwoKTsgImyvA1a1cRS%2F-LYwq0Ec7NfNN8M54GNo%2Ffont-variant.png?alt=media\&token=115c01ac-743e-4f59-a907-c5661f384436)

## Szöveg igazítás (text-align)

A `text-align` segítségével lehet igazítani egy blokkos elemen belül a szöveget vízszintesen.

**Lehetséges értékei:**

* *left: balra igazítás*
* *right: jobbra igazítás*
* *center: középre igazítás*
* *justify: sorkizárt*

```css
p {
    text-align: center;
}
```

![Jobbra, balra, középre igazított, és sorkizárt szöveg.](https://4266704503-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LNfhge3bZW-4Qpjzwtx%2F-LZ1bL7TTWPZzjYRbkf_%2F-LZ1bTKjUX0rKOqj2WDe%2Ftext-align.png?alt=media\&token=20d2ab03-98db-4e4e-bafc-fa8839a8673e)

## Szöveg díszítés (text-decoration)

A `text-decoration`-al húzhatjuk át, vagy alá a szöveget.

**Lehetséges értékei:**

* *none: nincs dekoráció*
* *underline: aláhúzás*
* *overline: föléhúzás*
* *line-trought: áthúzás*

```css
p {
    text-decoration: none;
}

span {
    text-decoration: underline;
}
```

## Szöveg behúzás (text-indent)

A `text-indent` a bekezdés első sorában behúzást hoz létre. Negatív értéke is lehet, aminek hatására ki fog lógni az elemből az első sor. Megadhatjuk százalékban is, de inkább jellemző az em, vagy a pixeles értékadás. Alapértéke *0* (nincs behúzás).

```css
p {
    text-indent: 1em;
}

p {
    text-indent: -1em;
}
```

![A bal hasáb pozitív szöveg behúzást kapott, a jobb hasáb negatív szöveg behúzást.](https://4266704503-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LNfhge3bZW-4Qpjzwtx%2F-LYvXeNC8TGIYOam3VAB%2F-LYvXvXMonPyWwXgI3Xu%2Ftext-indent.png?alt=media\&token=14bdac26-35f0-4340-be78-bebc448737c0)

## Szöveg transzformáció (text-transform)

A `text-transform`-al csupa kis vagy nagybetűssé változtathatunk egy szöveget attól függetlenül, hogy a HTML állományban hogy szerepel.

**Értékei:**

* *none: nincs*
* *capitalize: szóeleji nagybetű*
* *uppercase: csupa nagybetű*
* *lowercase: csupa kisbetű*

```css
p {
    text-transform: none;
}

span {
    text-transform: uppercase;
}
```

![Szöveg transzformációk sorrendben: none, capitalize, uppercase, lowercase. ](https://4266704503-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LNfhge3bZW-4Qpjzwtx%2F-LYwnNkpmMC5VXfuBEiN%2F-LYwnYD4w-5Hm7rrr1Wc%2Ftext-transform.png?alt=media\&token=6701f442-7b72-4875-8435-5665b102f760)

## Sormagasság (line-height)

A `line-height` határozza meg a szöveg két sora közötti távolságot. Alapértéke *normal*, megadhatjuk százalékban, vagy hosszmértékben.

```css
p {
    line-height: normal;
}

span {
    line-height: 1.25em;
}
```

![](https://4266704503-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LNfhge3bZW-4Qpjzwtx%2F-LVDonjoIk-aS0X5W_0w%2F-LVDosVNkWYK6aH6o19E%2Fline.png?alt=media\&token=71b766a5-d4fd-423a-8aaf-a5588840a6f1)

A tartalom terület (vörös vonalakkal határolva a fenti képen) a nagy M-betű magasságával egyező magasságú, gyakorlatban ez a font mérete (tipográfiában a verzál magasság, ezen túlnyúlhatnak a betűk fel- és lenyúló szárai). A szövegközi mező magassága a sormagasság (kék vonalakkal határolt terület a fenti képen).&#x20;

![](https://4266704503-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LNfhge3bZW-4Qpjzwtx%2F-LVDonjoIk-aS0X5W_0w%2F-LVDuz1hh7U2NgETFJdX%2Fline2.png?alt=media\&token=a669f2ea-0600-4057-ac98-97e232011057)

A tartalom terület és a szövegközi mező külömbsége a sortávolság (adott esetben negatív értéket is felvehet) - vonjuk ki a `line-height` (sormagasság) értékéből a `font-size` (betűméret) értékét, így megkapjuk a két sor pontos távolságát.&#x20;

![Különböző sormagasság értékek em-ben megadva.](https://4266704503-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LNfhge3bZW-4Qpjzwtx%2F-LZsxyF5vpQB6OVmIOtx%2F-LZsy2JUgKVmZqQm3NmH%2Fline-height.png?alt=media\&token=722cf586-b9ae-4806-ada3-b86e559cb70b)

## Szóköz (word-spacing)

A `word-spacing` határozza meg a szavak közötti távolságot. Alapértéke a *normal*, ez nullával egyenlő, a módosított értéke a betűtípus szóköz karakterének szélességét módosítja, akár negatív irányban is, ekkor egymásra csúsznak a szavak.

```css
p {
    word-spacing: normal;
}

span {
    word-spacing: 0.125em;
}
```

![Különböző szóközök pixelben megadva.](https://4266704503-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LNfhge3bZW-4Qpjzwtx%2F-LZuqebrXzskDrbP5LNK%2F-LZuqr2LtpgxAK-Z5Avo%2Fletter-spacing.png?alt=media\&token=50a2a83f-ead8-48e3-b5c4-05905a54ae9f)

## Betűköz (letter-spacing)

A `letter-spacing` (betűköz) határozza meg a betűk karaktermezői közötti távolságot. Alapértéke a *normal*, ezt módosíthatjuk hosszmérték megadásával. Értéke lehet negatív, ebben az esetben a betűk közelebb kerülnek egymáshoz.

```css
p {
    letter-spacing: normal;
}

span {
    letter-spacing: 0.125em;
}
```

![Különböző méretű betűközök pixelben meghatározva.](https://4266704503-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LNfhge3bZW-4Qpjzwtx%2F-LYBGZ_pMwQmn8SujmEK%2F-LYBL2kORRwzFP62IoFV%2Fletter-spacing.png?alt=media\&token=648d227e-6e3f-44be-b968-d7a283c967c1)
