---
title: "xhtml &nbsp;"
type: "forum-thread"
url: "https://www.webforum.nu/amne/html-css/43643-xhtml-nbsp"
topic: "HTML & CSS"
topic_url: "https://www.webforum.nu/amne/html-css"
author: "jake"
published: "2002-05-13T17:42:29.000Z"
updated: "2002-05-14T11:41:00.000Z"
replies: 10
views: 879
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/html-css/43643-xhtml-nbsp"
---

# xhtml &nbsp;

## #1 — jake, 2002-05-13T17:42Z

hur gör man ett extra mellanrum "space" i xhtml  då &amp;nbsp; ej verkar finnas med i definitionen...

/J

Permalänk: https://www.webforum.nu/p/43643

## #2 — SPiN, 2002-05-13T17:55Z

Hm, felläsning från min sida. :)

Funkar inte bara &amp;nbsp;?

Permalänk: https://www.webforum.nu/p/672687

## #3 — jake, 2002-05-13T19:01Z

jo det funkar säkert (nu iaf) men verkar inte som den är med i w3c definitionen...

Permalänk: https://www.webforum.nu/p/672735

## #4 — jarvklo, 2002-05-13T19:38Z

Jodå, det är med - men man måste kunna lite XML-trix för att hitta dem...

I DTD:n (DokumentTypDefinitionen) för t.ex. xhtml1.0 Strict. (finns på <http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd> ) definieras alldeles i början några externa entiteter (vilket ungefär motsvarar include-filer).
Dessa anropas också samband med definitionerna:

```
<!--================ Character mnemonic entities =========================-->

<!ENTITY % HTMLlat1 PUBLIC
   "-//W3C//ENTITIES Latin 1 for XHTML//EN"
   "xhtml-lat1.ent">
%HTMLlat1;

<!ENTITY % HTMLsymbol PUBLIC
   "-//W3C//ENTITIES Symbols for XHTML//EN"
   "xhtml-symbol.ent">
%HTMLsymbol;

<!ENTITY % HTMLspecial PUBLIC
   "-//W3C//ENTITIES Special for XHTML//EN"
   "xhtml-special.ent">
%HTMLspecial;
```

Den externa entiteten (alltså ungefär "include-filen") "xhtml-lat1.ent" (alltså i praktiken <http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent> ) innehåller definitioner av ett gäng specialtecken, däribland 

```
<!ENTITY nbsp   "&amp;#160;"> <!-- no-break space = non-breaking space,
                                  U+00A0 ISOnum -->
```

Motsvarande finns i övriga xhtml-DTD:er också.

Verkar det knöligt kan jag trösta er med att XML i alla är fall **mycket** lättare att förstå sig på än SGML (som "icke-x"HTML är byggt på) :e

Permalänk: https://www.webforum.nu/p/672758

## #5 — jake, 2002-05-13T20:29Z

hm... betyder det att man  ska skriva "&amp;#160;" i koden för att infoga ett nbsp ?

Kan man på något sätt lägga det i css om man har en liknande struktur på flera ställen i dokumentet.
(i detta fallet ett tecken som ska komma på samma rad som föregående ord med ett space emellan...

hmm dum fråga kanske...

tack iaf järvklo för det omfattande svaret...

Permalänk: https://www.webforum.nu/p/672792

## #6 — jarvklo, 2002-05-14T09:20Z

> hm... betyder det att man  ska skriva "&amp;#160;" i koden för att infoga ett nbsp ?

Njae- Det betyder att  det är tillåtet att välja att antingen skriva **&amp;#160;** eller **&amp;nbsp;** när man vill ha in ett tecken med teckenkod 160 (alltså tecknet "non-breaking space") i texten på en xhtml-sida.

**Man kan (och får!) alltså använda  &amp;nbsp; på precis samma sätt i xhtml som man kan och får i HTML.**

> Kan man på något sätt lägga det i css om man har en liknande struktur på flera ställen i dokumentet.
> (i detta fallet ett tecken som ska komma på samma rad som föregående ord med ett space emellan...

 
Hmm...
Skulle vara med :after {content:'&amp;nbsp;Ditt_tecken'}  i så fall, men hur man får till det innehållet har jag inte lyckats klura ut. 
:after funkar förresten inte i MSIE5.5.-, och entiteten skrivs in som den står med &amp;-tecken och allt  i NN6.2... Kanske någon i CSS-forumet vet mer om detta ?
Lite mer om :after och content: finns annars t.ex. på <http://www.blooberry.com/indexdot/css/syntax/pseudo/pelemafter.htm> och  <http://www.blooberry.com/indexdot/css/properties/generate/content.htm>

Permalänk: https://www.webforum.nu/p/672952

## #7 — spango, 2002-05-14T09:35Z

Skulle du vilja ha det i before/after i CSS borde ( :OO ) det funka med content: '\\A0' om du använder MZ/NS6/Opera 6.

Permalänk: https://www.webforum.nu/p/672956

## #8 — jarvklo, 2002-05-14T10:46Z

Testat och klart i NN6.2 iaf ;) och det funkar - vågen spango! :birp

Permalänk: https://www.webforum.nu/p/672980

## #9 — jake, 2002-05-14T11:06Z

vad står '\\A0'  för?

Permalänk: https://www.webforum.nu/p/672993

## #10 — spango, 2002-05-14T11:35Z

Backslashen betyder att det som kommer härnäst är någonting magiskt (som \\n betyder ny rad i C-baserade språk) och A0 är 160 skrivet hexadecimalt.

Permalänk: https://www.webforum.nu/p/673007

## #11 — jarvklo, 2002-05-14T11:41Z

Det är CSS-escapning av tecknet med kod 160!
Läs mer om detta i CSS-specifikationen på: <http://www.w3.org/TR/REC-CSS2/syndata.html#q4> \- där står bl.a. 

> ...
> Third, backslash escapes allow authors to refer to characters they can't easily put in a document. In this case, the backslash is followed by at most six hexadecimal digits (0..9A..F), which stand for the ISO 10646 (\[ISO10646\]) character with that number. If a digit or letter follows the hexadecimal number, the end of the number needs to be made clear. There are two ways to do that: 
> 
> \* with a space (or other whitespace character): "\\26 B" ("&B") 
> \* by providing exactly 6 hexadecimal digits: "\\000026B" ("&B") 
> In fact, these two methods may be combined. Only one whitespace character is ignored after a hexadecimal escape. Note that this means that a "real" space after the escape sequence must itself either be escaped or doubled.

Permalänk: https://www.webforum.nu/p/673009

---

Tråden på webben: https://www.webforum.nu/amne/html-css/43643-xhtml-nbsp
