Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webdesign (HTML, CSS, Flash)

Custom tags met CSS (en XHTML 1.0 Strict)

Anoniem
Anne
8 antwoorden
  • Hallo,

    Ik kan er zo 1, 2, 3 niets over vinden, maar is het een werkelijke functionaliteit van CSS 2 (en XHTML 1.0 Strict) om custom tags te gebruiken? Het werkt namelijk wel, maar is het ook de bedoeling? Ik geef een voorbeeldje:

    Allereerst een paneel als DIV:
    [code:1:80e74b2aad]
    // CSS

    #panel {
    width: 500px;
    height: 50px;
    background-color: #eeeeee;
    text-align: left;
    }

    // HTML


    <div id="panel">
    Dit is een paneel.
    </div>

    [/code:1:80e74b2aad]

    Nu de customtag:
    [code:1:80e74b2aad]
    // CSS

    mypanel {
    width: 500px;
    height: 50px;
    background-color: #eeeeee;
    text-align: left;
    }

    // HTML

    <mypanel>
    Dit is een paneel.
    </mypanel>
    [/code:1:80e74b2aad]

    Ook dit laatste werkt in ieder geval met Mozilla (Firebird 0.7). Nu zijn die custom tags natuurlijk erg handig en zorgen ervoor, dat je je HTML-document echt aan kunt passen aan je layout met betrekking tot de codering. Maar is dit ook de bedoeling? Of is dit een "random feature", die nooit als zodanig bedoeld was?

    Bedankt!
  • 1. Je kunt HTML uitbreiden. Uit van MathML gehoord?
    2. Is bijna nooit nodig.
    3. Het is beter om dan ook namespaces te gebruiken die kun je ook selecteren met CSS (http://www.w3.org/TR/css3-namespace/) werkt ook in Mozilla.
    4. CSS is onafhankelijk van HTML en/of XHTML
    5. Browser hebben wel voorafgedefinieerde waarden voor HTML tabellen bijvoorbeeld.
    6. Creeer je deze tabellen zelf (met behulp van de display property) met eigen _niet_ HTML table elementen dan vervallen die standaard waarden.

    Ik zal vast wel iets vergeten zijn.
  • Zelf tags maken is een optie van XML, en CSS is ook (met name) geschikt voor het opmaken van XML. (X)HTML is een dialect van XML met extra regels. Het is dus niet verrassend dat het bovenstaande werkt, maar het is wel fout. De tags binnen (X)HTML zijn namelijk beperkt en dus zijn ze ongeldig. Niet doen dus, of bewust kiezen voor XML met bijbehorende DOCTYPE.

    - Bas
  • Niet geheel correct IMO. XHTML heeft vastgelegde regels en hiervan kun je _juist_ gebruik maken binnen bijvoorbeeld andere XML dialecten. Het gaat dan niet perse om 'valid zijn'. Hoewel je wel moet zorgen dat je namespaces en mime-type correct zijn. Dit is bijvoorbeeld ook een XHTML document: http://annevankesteren.nl/test/xhtml/1.x
    oot/s-a.xhtml , beetje raar voorbeeld wellicht, maar het is er wel een.

    In _echt_ XHTML (dus ook met het correcte mime-type) kun je bijvoorbeeld ook <script type="application/x-javascript" src="blaat.js"/> gebruiken ipv. <script></script>.

    Het uitbreiden van XHTML kan je bijvoorbeeld doen, omdat je een eigen taaltje hebt ontwikkeld voor het een of ander. Eventueel kun je daar zelfs een eigen doctype voor schrijven maar nodig is het niet. Het volgende zal bijvoorbeeld ook perfect werken (in goede browsers uiteraard) en zelfs in standard compliant mode renderen:[code:1:b12ef8345e]<html xmlns="http://www.w3.org/1999/xhtml" xmlns:other="http://other.example.org/#ns" xml:lang="en">
    <style type="text/css">
    @namespace blaat url(http://www.w3.org/1999/xhtml);
    @namespace other-example url(http://other.example.org/#ns);
    :root{
    background:lime;
    }
    blaat|a{
    margin:10px;
    display:block;
    }
    other-example|nr{
    margin:10px;
    background:red;
    }
    </style>

    <a href="http://google.nl/">Google!</a>

    <other:nr>220</other:nr>
    </html>[/code:1:b12ef8345e]
  • XHTML is XHTML en dat is niet uit te breiden. Wat je doet met de namespaces is de browser vertellen dat je óók andere XML-varianten gebruikt náást XHTML. Een voorbeeld hiervan is MathML. Natuurlijk is het mogelijk om een compleet aangepaste versie te maken van XHTML compleet met nieuwe doctype, maar m.i. heb je dan gewoon een nieuw XML-dialect gebaseerd op XHTML en niet XHTML zelf. Daar liggen de regels van vast.

    - Bas
  • MathML is een in XML geschreven wiskundige markup-taal (geen XML-variant, SGML zou een XML-variant zijn, aangezien XML meta data is en MathML gewoon data) die meestal met XHTML als 'host-language' getoond wordt.
    (of zie ik wat over het hoofd?)


    Je hebt er wel helemaal gelijk in dat XHTML, XHTML blijft. Beetje stom van me :)
  • Ja, inderdaad. Nu ik er zelf zo over nadenk, is het wel zo logisch, dat XHTML niet uit te breiden is. XHTML biedt een standaard verzameling tags en die kun je met behulp van CSS al dan niet stylen. XHTML zou XHTML niet zijn, wanneer je de verzameling tags naar eigen wens zou kunnen aanvullen. Het falen van de validator op dit punt zegt dan eigenlijk al genoeg. Bij deze nogmaals dank voor de reacties.
  • Maar XHTML staat wel voor Extensible HyperText Markup Language.

    Bij deze naam zou je er toch van uit kunnen gaan dat het 'uitbreidbaar' is?

    Wat wordt er dan met Extensible bedoeld?

    [Edit] Sorry was Hypertext vergeten [/Edit]

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.