Mi az   ellentetje?

Kategóriák: Érdekességek, Problémák
Címkék: 

A címben szereplő kérdésre egyszerű a válasz, ugyanis nincs ellentetje, de legalábbis hivatalosan nem létezik. Igazából a bejegyzés ezzel a válasszal véget is ér, úgyhogy csak azok olvassanak tovább, akiket érdekel, a “Miért?”!

Először egy rövid példán keresztül mutatom be azt, hogy hol vehetjük hasznát a  -nek (no-break space/non-breaking space), és ebből vezetem le a nemlétező ellentetjének a &zwsp;-nek a létjogosultságát, melynek HTML 5-be történő implementálására hamarosan javaslatot teszek a W3 Consortiumnál.

Szemléltető példaként két SHA256 típusú ellenőrző-összeget választottam, melyeket egy 160 pixel szélesre szabott dobozban helyeztem el:

93bd4013ebf203ca75c2d7b0afad6b60d2cea5c7005f061433432ddbc979959a *ubuntustudio-9.10-alternate-amd64.iso
b96a4fcf3e96ad4d04a086fa8d8f9f901231bf11515f3269e816a6048b3b0258 *ubuntustudio-9.10-alternate-i386.iso

(Forrás: http://cdimage.ubuntu.com/ubuntustudio/releases/9.10/release/SHA256SUMS)

Checksum: 1.

HTML Kód:
<div id="Checksum">
93bd4013ebf203ca75c2d7b0afad6b60d2cea5c7005f061433432ddbc979959a *ubuntustudio-9.10-alternate-amd64.iso
b96a4fcf3e96ad4d04a086fa8d8f9f901231bf11515f3269e816a6048b3b0258 *ubuntustudio-9.10-alternate-i386.iso
</div>
CSS Kód:
#Checksum    {
	border-color: #000000;
	border-style: solid;
	border-width: 2px;
	font-family: monospace;
	padding: 4px;
	width: 160px;
}

Az &nbsp; …

A fenti kódot folytatva most azt szeretném elérni, hogy az ellenőrző-összeg és a fájlnév között ne törjenek sort a böngészők. Alapvetően ez nagyon egyszerű, hiszen csak be kell illeszteni az &nbsp;-t az ellenőrző-összeg és a fájlnév közé, valahogy így:

Checksum: 2.

HTML Kód:
<div id="Checksum">
93bd4013ebf203ca75c2d7b0afad6b60d2cea5c7005f061433432ddbc979959a&nbsp;*ubuntustudio-9.10-alternate-amd64.iso
b96a4fcf3e96ad4d04a086fa8d8f9f901231bf11515f3269e816a6048b3b0258 *ubuntustudio-9.10-alternate-i386.iso
</div>

Ahogy a képen látható, alapvetően egy sorba kerülne a kettő, és csak a fájlnévben található kötőjelek miatt törik meg. Úgy érzem, a bejegyzésnek  csak ez adja meg igazán a hangulatát, ugyanis ez azért van, mert a kötőjelnek nincs olyan tökéletes képmása, amely nem hagyja magát megtörni. 🙂 Egy hasonló karaktert (&#8209;) találtam, de azért ez nem az igazi. Persze, nem hagyom ezt sem megoldatlanul, úgyhogy következzen előbb erre a HTML megoldás:

Checksum: 3.

HTML Kód:
<div id="Checksum">
93bd4013ebf203ca75c2d7b0afad6b60d2cea5c7005f061433432ddbc979959a&nbsp;<pre style="display: inline;">*ubuntustudio-9.10-alternate-amd64.iso</pre>
b96a4fcf3e96ad4d04a086fa8d8f9f901231bf11515f3269e816a6048b3b0258 *ubuntustudio-9.10-alternate-i386.iso
</div>

A &zwsp; …

Tehát visszatérve az eredeti problémámra, a célom az lenne, hogy csak látszólag tördeljem ezeket az ellenőrző-összegeket, vagyis másolás után például a Jegyzettömbe beillesztve egyetlen karaktersorozatot alkosson.

Checksum: 4.

HTML Kód:
<div id="Checksum">
93bd4013ebf203ca&#8203;75c2d7b0afad6b60&#8203;d2cea5c7005f0614&#8203;33432ddbc979959a *ubuntustudio-9.10-alternate-amd64.iso
b96a4fcf3e96ad4d04a086fa8d8f9f901231bf11515f3269e816a6048b3b0258 *ubuntustudio-9.10-alternate-i386.iso
</div>

Sajnos, azonban másolás után “\n” (újsor) karakterek ékelődnek be, így a &#8203; (avagy &zwsp;) leginkább itt bukik el, de a Google Chrome-ot kivéve minden más böngésző már a karaktersorozat kijelölésénél is. A böngészőknek duplakattintáskor  a teljes ellenőrző-összeget ki kellene jelölniük, amit a Chrome logikusan meg is tesz, de a többi nem.

Notepad: A közbeékelődött karakterek.

Frissítés! (2010. február 03.): A probléma alapvetően a Hash Now! projekt fejlesztése közben merült fel, amikor az SHA256 és SHA512 ellenőrző-összegek megjelenítésével foglalkoztunk. Valószínűleg JavaScript oldja majd meg a problémát, amíg nem létezik rá natív megoldás.

Hozzászólás: » 2 « • Írta: Péter (2010/02/03 22:30)

Hozzászólás írása a “Mi az &nbsp; ellentetje?” című bejegyzéshez:

Kötelező!

Kötelező!

Hozzászólások a “Mi az &nbsp; ellentetje?” című bejegyzéshez:

  1. Írta: StarZ3r0 (2010/02/04 16:40) • »»

    Nagyon érdekes írás. Sokaknak inkább azzal szokott gondja lenni, hogy kilóg a dobozból az egybefüggő, hosszú karaktersor, amire sokan nem tudjak, de a word-wrap css tulajdonság a megoldás.

  2. Írta: Petya (2010/02/04 17:03) • »»

    Na, már olyan régóta terveztem ennek a cikknek a megírását, hogy a word-wrap-ről teljesen megfeledkeztem. Annak idején nézegettem, de még most is két “problémám” van vele:

    1. A word-wrap-nél nem tudod megadni, hogy hány karakterenként törjön, míg például az ellenőrző-összegek adatbázisból való kiolvasásakor PHP segítségével szabályos közönként el lehet helyezni a “&zwsp;”-t.
    2. A karaktersorozaton történő duplakattintáskor szintén csak a Chrome jelöli ki az egész ellenőrző-összeget, de legalább a word-wrap-es megoldás itt felülteljesíti a cikkben leírt példámat, mert a Jegyzettömbe másolva nem keletkezik újsor karakter.

    Ha nem kerül be a “&zwsp;” a szabványba, akkor úgy néz ki, hogy a word-wrap-pel kell kisakkozni azt a szélességet, amivel pont szabályosan oszlik el a karakterlánc, de ettől függetlenül a böngészőknek javítaniuk kell a kijelölési eljárásukat. 😐