Vra

In my klas het ek rondgespeel en uitgevind dat CSS met opgemaakte elemente werk.

Voorbeeld:

imsocool {
    color:blue;
}
<imsocool>HELLO</imsocool>

Toe my professor die eerste keer sien hoe ek dit gebruik, was hy 'n bietjie verbaas dat opgemaakte elemente werk en het aanbeveel dat ek eenvoudig al my opgemaakte elemente na paragrawe met ID's verander.

Hoekom wil my professor nie hê ek moet opgemaakte elemente gebruik nie?Hulle werk effektief.

Ook, hoekom het hy nie geweet dat opgemaakte elemente bestaan ​​en met CSS werk nie.Is hulle ongewoon?

Was dit nuttig?

Oplossing

Waarom werk CSS met vals elemente?

(Die meeste) blaaiers is ontwerp om (tot 'n mate) vorentoe versoenbaar te wees met toekomstige toevoegings tot HTML.Onherkende elemente word in die DOM ontleed, maar het geen semantiek of gespesialiseerde verstekweergawe wat daarmee geassosieer word nie.

Wanneer 'n nuwe element by die spesifikasie gevoeg word, kan CSS, JavaScript en ARIA soms gebruik word om dieselfde funksionaliteit in ouer blaaiers te verskaf (en die elemente moet in die DOM verskyn vir daardie tale om hulle te kan manipuleer om daardie funksionaliteit by te voeg ).

(Daar is 'n spesifikasie vir pasgemaakte elemente, maar hulle het spesifieke naamvereistes en vereis registrasie met JavaScript.)

Hoekom wil my professor nie hê ek moet opgemaakte elemente gebruik nie?

  • Hulle word nie toegelaat deur die HTML-spesifikasie nie
  • Hulle kan dalk bots met toekomstige standaardelemente met dieselfde naam
  • Daar is waarskynlik 'n bestaande HTML-element wat beter geskik is vir die taak

Ook;hoekom het hy nie geweet dat opgemaakte elemente bestaan ​​en saam met CSS gewerk het nie.Is hulle ongewoon?

Ja.Mense gebruik dit nie omdat hulle bogenoemde probleme het nie.

Ander wenke

TL; DR

  • Gepasmaakte merkers is ongeldig in HTML.Dit kan lei tot leweringsprobleme.
  • Maak toekomstige ontwikkeling moeiliker aangesien kode nie draagbaar is nie.
  • Geldige HTML bied baie voordele soos SEO, spoed en professionaliteit.

Lang antwoord

Daar is sommige argumente daardie kode met pasgemaakte etikette is meer bruikbaar.

Dit lei egter tot ongeldige HTML.Wat nie goed is vir jou webwerf nie.

Die punt van geldige CSS/HTML | Stapel oorloop

  • Google verkies dit, so dit is goed vir SEO.
  • Dit maak jou webblad meer geneig om te werk in blaaiers wat jy nie getoets het nie.
  • Dit laat jou meer professioneel lyk (ten minste vir sommige ontwikkelaars)
  • Aaneenlopende blaaiers kan [geldige HTML vinniger weergee]
  • Dit wys 'n klomp obskure goggas uit wat jy waarskynlik gemis het wat dinge beïnvloed wat jy waarskynlik nie getoets het nie bv.die kodebladsy of taalstel van die bladsy.

Waarom valideer | W3C

  • Validasie as 'n ontfoutingsinstrument
  • Validasie as 'n toekomsvaste kwaliteitskontrole
  • Validasie vergemaklik instandhouding
  • Bekragtiging help om goeie praktyke aan te leer
  • Bekragtiging is 'n teken van professionaliteit

YADA (nog 'n ander (ander) antwoord)

Wysig:Sien asseblief die opmerking van BoltClock hieronder rakende tipe vs tag vs element.Ek bekommer my gewoonlik nie oor semantiek nie, maar sy opmerking is baie toepaslik en insiggewend.

Alhoewel daar reeds 'n klomp goeie antwoorde is, het jy aangedui dat jou professor het jou gevra om hierdie vraag te plaas sodat dit lyk of jy (formeel) is in skool.Ek het gedink ek sal 'n bietjie meer in diepte uiteensit oor nie net CSS nie, maar ook die meganika van webblaaiers.Volgens Wikipedia, "CSS is 'n stylbladtaal wat gebruik word vir die beskrywing van ...'n dokument geskryf in a opmerktaal." (Ek het die klem op "a bygevoeg") Let daarop dat dit nie "in HTML geskryf" sê nie, veel minder 'n spesifieke weergawe van HTML.CSS kan gebruik word op HTML, XHTML, XML, SGML, XAML, ens.Natuurlik het jy iets nodig wat sal lewer elk van hierdie dokumenttipes wat ook stilering sal toepas.Per definisie doen CSS nie weet / verstaan ​​/ gee om spesifieke opmerktaaletikette.So, die etikette kan "ongeldig" wees wat HTML betref, maar daar is geen konsep van 'n "geldige" merker/element/tipe in CSS nie.

Moderne visuele blaaiers is nie monolitiese programme nie.Hulle is 'n amalgaam van verskillende "enjins" wat spesifieke take het om te doen.By 'n minimum Ek kan aan 3 enjins dink, die weergawe-enjin, die CSS-enjin en die javascript-enjin/VM.Nie seker of die ontleder deel is van die weergawe-enjin (of andersom) of of dit 'n aparte enjin is nie, maar jy kry die idee.

Of a visueel blaaier (ander het reeds die feit dat skerm aangespreek lesers kan ander uitdagings hê wat handel oor ongeldige etikette) pas die formatering toe, hang af van of die ontleder die "ongeldige" merker in die dokument laat en dan of die weergawe-enjin style op daardie merker toepas.Aangesien dit dit moeiliker sou maak om te ontwikkel/onderhou, word daar nie aan CSS-enjins geskryf nie verstaan dat "dit is 'n HTML -dokument, so hier is die lys van geldige etikette / elemente / soorte." CSS -enjins vind eenvoudig etikette / elemente / tipes En sê dan vir die leweringsmotor: "Hier is die style wat u moet toepas." Of die lewering van die enjin besluit om die style toe te pas, is dit op.

Hier is 'n maklike manier om te dink aan die basies vloei van enjin na enjin:ontleder -> CSS -> lewering.In werklikheid is dit baie meer ingewikkeld, maar dit is goed genoeg vir beginners.

Hierdie antwoord is reeds te lank so ek sal daar eindig.

Onbekende elemente word behandel as divs deur moderne blaaiers.Dis hoekom hulle werk.Dit is deel van die aankomende HTML5-standaard wat 'n modulêre struktuur bekendstel waarby nuwe elemente bygevoeg kan word.

In ouer blaaiers (ek dink IE7-) kan jy 'n Javascript-truuk toepas waarna hulle ook sal werk.

Hier is 'n verwante vraag Ek het gevind toe ek na 'n voorbeeld gesoek het.

Hier is 'n vraag oor die Javascript-oplossing.Dit blyk dat dit inderdaad IE7 is wat nie hierdie elemente uit die boks ondersteun nie.

Ook;hoekom het hy nie geweet dat opgemaakte etikette bestaan ​​en saam met CSS werk nie.Is hulle ongewoon?

Ja, nogal.Maar veral:hulle dien nie bykomende doel nie.En hulle is nuut in html5.In vroeëre weergawes van HTML was 'n onbekende merker ongeldig.

Dit lyk ook of onderwysers soms leemtes in hul kennis het.Dit kan wees as gevolg van die feit dat hulle studente die basiese beginsels oor 'n gegewe vak moet leer, en dit betaal nie regtig om alle ins en outs te ken en werklik op datum te wees nie.Ek het eenkeer detensie gekry omdat 'n onderwyser gedink het ek het 'n virus geprogrammeer, net omdat ek 'n rekenaar kon laat musiek speel met die play opdrag in GWBasic.(Ware storie, en ja, lank gelede).Maar wat ook al die rede is, ek dink die raad om nie persoonlike elemente te gebruik nie, is 'n goeie een.

Eintlik kan jy persoonlike elemente gebruik.Hier is die W3C-spesifikasie oor hierdie onderwerp:

http://w3c.github.io/webcomponents/spec/custom/

En hier is 'n handleiding wat verduidelik hoe om dit te gebruik:

http://www.html5rocks.com/en/tutorials/webcomponents/customelements/

Soos uitgewys deur @Quentin:dit is 'n konsepspesifikasie in die vroeë dae van ontwikkeling, en dat dit beperkings oplê op wat die elementname kan wees.

Daar is 'n paar dinge oor die ander antwoorde wat óf net swak geformuleer is óf dalk 'n bietjie verkeerd is.

ONWAAR (agtig):Nie-standaard HTML-elemente is "nie toegelaat nie", "onwettig" of "ongeldig".

Nie noodwendig.Hulle is "nie-konform".Wat is die verskil? Iets kan "nie konformeer nie" en steeds "toegelaat word". Die W3C gaan nie die HTML-polisie na jou huis toe stuur en jou wegsleep nie.

Die W3C het dinge vir 'n rede so gelaat.Konformiteit en spesifikasies word deur 'n gemeenskap gedefinieer.As jy toevallig 'n kleiner gemeenskap het wat HTML vir meer spesifieke doeleindes gebruik en hulle stem almal saam oor 'n paar nuwe elemente wat hulle nodig het om dinge makliker te maak, kan hulle hê waarna die W3C verwys as "ander toepaslike spesifikasies".(dit is natuurlik 'n growwe oorvereenvoudiging, maar jy kry die idee)

Dit gesê, streng valideerders sal jou nie-standaardelemente as "ongeldig" verklaar.maar dit is omdat die valideerder se taak is om voldoening te verseker aan watter spesifikasie dit ook al bekragtig, nie om "wettigheid" vir die blaaier of vir gebruik.

ONWAAR (agtig):Nie-standaard HTML-elemente sal lei tot leweringskwessies

Moontlik, maar onwaarskynlik.(vervang "sal" met "mag") Die enigste manier waarop dit 'n leweringprobleem tot gevolg moet hê, is as jou pasgemaakte element bots met 'n ander spesifikasie, soos 'n verandering aan die HTML-spesifikasie of 'n ander spesifikasie wat binne dieselfde stelsel gerespekteer word (soos bv. SVG, Wiskunde of iets pasgemaak).

In werklikheid, die rede waarom CSS nie-standaard etikette kan styl is omdat die HTML-spesifikasie duidelik stel daardie:

Gebruikersagente moet elemente en eienskappe wat hulle nie verstaan ​​nie as semanties neutraal hanteer;laat hulle in die DOM (vir DOM-verwerkers) en stileer hulle volgens CSS (vir CSS-verwerkers), maar lei geen betekenis daaruit af nie

Let wel: as jy 'n pasgemaakte merker wil gebruik, onthou net dat 'n verandering aan die HTML-spesifikasie op 'n later tydstip jou stilering kan laat opblaas, so wees voorbereid.Dit is regtig onwaarskynlik dat die W3C die <imsocool> tag egter.

Nie-standaard etikette en JavaScript (via die DOM)

Die rede waarom jy toegang tot gepasmaakte elemente kan verkry en dit kan verander met JavaScript, is omdat die spesifikasie praat selfs oor hoe hulle in die DOM hanteer moet word, wat die (regtig aaklige) API is wat jou toelaat om die elemente op jou bladsy te manipuleer.

Die HTMLUnknownElement-koppelvlak moet gebruik word vir HTML-elemente wat nie deur hierdie spesifikasie (of ander toepaslike spesifikasies) gedefinieer word nie.

TL;DR:Voldoening aan die spesifikasie word gedoen vir doeleindes van kommunikasie en veiligheid.Nie-nakoming word steeds deur alles toegelaat behalwe a valideerder, wie se enigste doel is om ooreenstemming af te dwing, maar waarvan die gebruik opsioneel is.

Byvoorbeeld:

var wee = document.createElement('wee');
console.log(wee.toString()); //[object HTMLUnknownElement]

(Ek is seker dit sal vlamme trek, maar daar is my 2 sent)

Volgens die spesifikasies:

CSS

A tipe kieser is die naam van 'n dokumenttaalelementtipe wat geskryf is met die sintaksis van CSS-gekwalifiseerde name

Ek het gedink dit word die genoem element keurder, maar blykbaar is dit eintlik die tipe keurder.Die spesifikasie gaan voort om te praat oor CSS qualified names wat geen beperking stel op wat die name eintlik is nie.Dit wil sê dat solank die tipe kieser ooreenstem met CSS gekwalifiseerde naam sintaksis is dit tegnies korrekte CSS en sal ooreenstem met die element in die dokument.Daar is geen CSS-spesifieke beperking op elemente wat nie in 'n spesifieke spesifikasie bestaan ​​nie - HTML of andersins.

HTML

Daar is geen amptelike beperking op die insluiting van enige etikette in die dokument wat jy wil hê nie.Die dokumentasie sê egter

Skrywers moet nie elemente, kenmerke of kenmerkwaardes vir ander doeleindes as hul toepaslike bedoelde semantiese doel gebruik nie, aangesien dit verhoed dat sagteware die bladsy korrek verwerk.

En dit sê later

Skrywers moet nie elemente, eienskappe of kenmerkwaardes gebruik wat nie deur hierdie spesifikasie of ander toepaslike spesifikasies toegelaat word nie, aangesien dit dit aansienlik moeiliker maak vir die taal om in die toekoms uitgebrei te word.

Ek is nie seker spesifiek waar of as die spesifikasie sê dat onbekende elemente is nie toegelaat, maar dit praat wel oor die HTMLUnknownElement koppelvlak vir onherkende elemente.Sommige blaaiers herken dalk nie eers elemente wat in die huidige spesifikasie is nie (IE8 kom in gedagte).

Daar is 'n konsep vir pasgemaakte elemente, alhoewel, maar ek twyfel of dit nog enige plek geïmplementeer is.

Dit is moontlik met html5, maar jy moet ouer blaaiers in ag neem.

As jy besluit om dit te gebruik, maak seker dat jy jou html KOMMENTAAR!!Sommige mense het dalk probleme om uit te vind wat dit is, so 'n opmerking kan hulle baie tyd bespaar.

Iets soos hierdie,

<!-- Custom tags in use, refer to their CSS for aid -->

Wanneer jy jou eie gepasmaakte merker/elemente maak, sal die ouer blaaiers geen benul hê hoe dit net soos html5-elemente is nie nav/section.

As jy belangstel in hierdie konsep, beveel ek aan om dit op die regte manier te doen.

Aan die gang kom

Aangepaste elemente stel webontwikkelaars in staat om nuwe soorte HTML -elemente te definieer.Die spesifikasie is een van verskeie nuwe API -primitiewe wat onder die sambreel van die webkomponente beland, maar dit is heel moontlik die belangrikste.Webkomponente bestaan ​​nie sonder die funksies wat deur pasgemaakte elemente ontsluit is nie:

Definieer nuwe HTML/DOM -elemente skep elemente wat uit ander elemente strek, bundel die aangepaste funksionaliteit logies saam in 'n enkele etiket Brei die API van bestaande DOM -elemente uit

Daar is baie wat jy daarmee kan doen en dit maak jou draaiboek mooi soos hierdie artikel dit graag stel. Pasgemaakte elemente wat nuwe elemente in HTML definieer.

Laat ons dus opsom,

Voordele

  • Baie elegant en maklik om te lees.

  • Dit is lekker om nie so baie te sien nie divs.:p

  • Laat 'n unieke gevoel aan die kode toe

Nadele

  • Ouer blaaierondersteuning is 'n sterk ding om te oorweeg.

  • Ander ontwikkelaars het dalk geen benul wat om te doen as hulle nie weet van pasgemaakte etikette nie.(Verduidelik aan hulle of voeg kommentaar by om hulle in te lig)

  • Laastens een ding om in ag te neem, maar ek is onseker, is blok- en inlyn-elemente.Deur gepasmaakte merkers te gebruik, gaan jy uiteindelik meer css skryf omdat die pasgemaakte merker nie 'n verstekkant daaraan sal hê nie.

Die keuse is heeltemal aan jou en jy moet dit baseer op wat die projek vra.

Opdatering 1/2/2014

Hier is 'n baie nuttige artikel wat ek gevind het en gedink het ek sal deel, Pasgemaakte elemente.

Leer die tegnologie Hoekom pasgemaakte elemente?Gemaakde elemente laat skrywers hul eie elemente definieer.Skrywers assosieer JavaScript -kode met name van die aangepaste etiket, en gebruik dan die aangepaste etiketname, aangesien dit enige standaard -etiket sou wees.

Nadat u 'n spesiale soort knoppie genaamd Super-Button geregistreer het, gebruik u die Super-knoppie net soos hierdie:

Pasgemaakte elemente is steeds elemente.Ons kan dit net so maklik soos enige standaard of vandag of vandag skep, gebruik, manipuleer en saamstel.

Dit lyk na 'n baie goeie biblioteek om te gebruik, maar ek het opgemerk dat dit nie Window's Build-status geslaag het nie.Dit is ook in 'n pre-alfa ek glo so ek sal 'n ogie hieroor hou terwyl dit ontwikkel.

Hoekom wil hy nie hê jy moet hulle gebruik nie?Hulle is nie algemeen of deel van die HTML5-standaard nie.Tegnies word hulle nie toegelaat nie.Hulle is 'n hack.

Ek hou egter self van hulle.Jy sal dalk belangstel in XHTML5.Dit laat jou toe om jou eie etikette te definieer en dit as deel van die standaard te gebruik.

Ook, soos ander uitgewys het, is hulle ongeldig en dus nie draagbaar nie.

Hoekom het hy nie geweet dat hulle bestaan ​​nie?Ek weet nie, behalwe dat hulle nie algemeen is nie.Moontlik was hy net nie bewus daarvan dat jy kon nie.

Opgemaakte etikette word amper nooit gebruik nie, want dit is onwaarskynlik dat hulle betroubaar in elke huidige blaaier en elke toekomstige blaaier sal werk.

'n Blaaier moet die HTML-kode ontleed in elemente wat hy ken, na opgemaakte etikette sal omgeskakel word na iets anders om in die dokumentobjekmodel (DOM) te pas.Aangesien die webstandaarde nie dek hoe om alles te hanteer wat buite die standaarde is nie, is webblaaiers geneig om nie-standaardkode op verskillende maniere te hanteer.

Webontwikkeling is moeilik genoeg met 'n klomp verskillende blaaiers wat hul eie eienaardighede het, sonder om nog 'n element van onsekerheid by te voeg.Die beste opsie is om te hou by dinge wat eintlik in die standaarde is, dit is wat die blaaierverkopers probeer volg, so dit het die beste kans om werklik te werk.

Ek dink opgemaakte etikette is net potensieel meer verwarrend of onduidelik as p's met ID's (een of ander teksblok in die algemeen).Ons weet almal dat 'n p met 'n ID 'n paragraaf is, maar wie weet waarvoor opgemaakte etikette bedoel is?Dit is ten minste my gedagte.:) Daarom is dit meer 'n styl-/helderheidskwessie as een van funksionaliteit.

Ander het uitstekende punte gemaak, maar dit is opmerklik dat as jy kyk na 'n raamwerk soos AngularJS, daar is 'n baie geldige saak vir persoonlike elemente en eienskappe.Dit dra nie net beter semantiese betekenis aan die xml oor nie, maar dit kan ook gedrag, voorkoms en gevoel vir die webblad verskaf.

CSS is 'n stylbladtaal wat gebruik kan word om XML-dokumente aan te bied, nie net (X)HTML-dokumente nie.Jou brokkie met die opgemaakte merkers kan deel wees van 'n wettige XML-dokument;dit sal een wees as jy dit in 'n enkele wortelelement insluit.Waarskynlik het jy reeds 'n <html> ...</html> rondom dit?Enige huidige blaaier kan XML-dokumente vertoon.

Natuurlik is dit nie 'n baie goeie XML-dokument nie, dit het nie 'n grammatika en 'n XML-verklaring nie.As jy eerder 'n HTML-verklaring-opskrif gebruik (en waarskynlik 'n bedienerkonfigurasie wat die korrekte mime-tipe stuur), sal dit eerder onwettige HTML wees.

(X)HTML het voordele bo gewone XML aangesien elemente 'n semantiese betekenis het wat nuttig is in die konteks van 'n webbladaanbieding.Gereedskap kan met hierdie semantiek werk, ander ontwikkelaars ken die betekenis, dit is minder foutief en beter om te lees.

Maar in ander kontekste is dit beter om CSS met XML en/of XSLT te gebruik om die aanbieding te doen.Dit is wat jy gedoen het.Aangesien dit nie jou taak was nie, het jy nie geweet wat jy doen nie, en HTML/CSS is die beste manier om die meeste van die tyd te gaan, jy moet daarby hou in jou scenario.

Jy moet 'n (X)HTML-opskrif by jou dokument voeg sodat nutsgoed vir jou betekenisvolle foutboodskappe kan gee.

...Ek verander eenvoudig al my opgemaakte etikette na paragrawe met ID's.

Ek het eintlik 'n probleem met sy voorstel van hoe om dit behoorlik te doen.

  1. A <p> tag is vir paragrawe.Ek sien mense gebruik dit heeltyd in plaas van 'n div -- bloot vir spasiëringsdoeleindes of omdat dit sagter lyk.As dit nie 'n paragraaf is nie, moenie dit gebruik nie.

  2. Jy hoef nie of wil ID's op alles plak nie, tensy jy dit spesifiek moet teiken (bv.met Javascript).Gebruik klasse of net 'n reguit div.

Van die vroeë dae af is CSS ontwerp om opmaak-agnosties te wees, sodat dit gebruik kan word met enige opmaaktaal wat boomagtige DOM-strukture produseer (byvoorbeeld SVG).Enige merker wat aan name token produksie is heeltemal geldig in CSS.So jou vraag gaan eerder oor HTML as oor CSS self.

Elemente met gepasmaakte merkers word deur HTML5-spesifikasie ondersteun.HTML5 standaardiseer die manier waarop onbekende elemente in die DOM ontleed moet word.HTML5 is dus die eerste HTML-spesifikasie wat persoonlike elemente streng gesproke moontlik maak.Jy hoef net HTML5 doctype te gebruik <!DOCTYPE html> in jou dokument.

Soos van gepasmaakte merkername self...

Hierdie dokument http://www.w3.org/TR/custom-elements/ beveel pasgemaakte merkers aan wat jy kies om ten minste een '-' (streep)-simbool te bevat.Op hierdie manier sal hulle nie bots met toekomstige HTML-elemente nie.Daarom moet jy beter jou dokument verander na iets soos hierdie:

<style>
so-cool {
    color:blue;
}
</style>

<body>
    <so-cool>HELLO</so-cool>
</body> 

Verbasend genoeg het niemand (insluitend my vorige self) toeganklikheid genoem nie.Nog 'n rede waarom die gebruik van geldige etikette in plaas van pasgemaakte etikette is vir versoenbaarheid met die grootste hoeveelheid sagteware, insluitend skermlesers en ander nutsgoed wat mense nodig het vir toeganklikheidsdoeleindes.Boonop, toeganklikheidswette soos WAI vereis om toeganklike webwerwe te maak, wat gewoonlik beteken dat hulle geldige opmaak moet gebruik.


Blykbaar het niemand dit genoem nie, so ek sal.

Dit is 'n neweproduk van blaaieroorloë.

In die 1990's toe die internet die eerste keer hoofstroom begin word het, het mededinging in die blaaiermark toegeneem.Om mededingend te bly en gebruikers te lok, het sommige blaaiers (veral Internet Explorer) probeer om behulpsaam en "gebruikersvriendelik" te wees deur te probeer uitvind watter bladsyontwerpers bedoel en dus opmerking toegelaat wat verkeerd is (bv. <b><i>foobar</b></i> korrek as vet-kursief weergegee word).

Dit het tot 'n mate sin gemaak, want as een blaaier aanhou kla oor sintaksisfoute terwyl 'n ander enigiets eet wat jy daarna gegooi het en 'n (min of meer) korrekte resultaat uitspoeg, dan sou mense natuurlik na laasgenoemde stroom.

Terwyl baie gedink het dat die blaaieroorloë verby is, het 'n nuwe oorlog tussen blaaierverkopers die afgelope paar jaar weer ontstaan ​​sedert Chrome vrygestel is, Apple het weer begin groei en Safari aangedryf het, en IE het sy oorheersing verloor.(Jy kan dit 'n "koue oorlog" noem as gevolg van die waargenome samewerking en ondersteuning van standaarde deur blaaierverkopers.) Daarom is dit nie 'n verrassing dat selfs hedendaagse blaaiers wat kwansuis streng aan webstandaarde voldoen, probeer eintlik om "slim" te wees en toelaat dat standaardverbrekende gedrag soos hierdie is om 'n voordeel te probeer kry soos voorheen.

Ongelukkig het hierdie permissiewe gedrag gelei tot 'n massiewe (sommige kan selfs sê kankeragtige) groei van swak gemerkte webblaaie.Omdat IE die toegeeflikste en gewildste blaaier was, en as gevolg van Microsoft se volgehoue ​​verontagsaming van standaarde, het IE berug geword vir die aanmoediging en bevordering van slegte ontwerp en die voortplanting en voortsetting van gebroke bladsye.

Jy kan dalk vir nou wegkom met die gebruik van eienaardighede en uitbuitings soos dié op sommige blaaiers, maar behalwe die af en toe legkaart of speletjie of iets, moet jy altyd vashou aan webstandaarde wanneer webbladsye en werwe geskep word om te verseker dat hulle korrek vertoon word en te voorkom dat hulle stukkend raak (moontlik heeltemal geïgnoreer) met 'n blaaieropdatering.

Terwyl blaaiers oor die algemeen CSS met HTML-etikette in verband sal bring, ongeag of hulle geldig is of nie, moet jy dit ABSOLUUT NIE doen nie.

Daar is tegnies niks verkeerd hiermee vanuit 'n CSS-perspektief nie.Die gebruik van opgemaakte etikette is egter iets wat jy NOOIT in HTML moet doen nie.

HTML is 'n opmerktaal, wat beteken dat elke merker ooreenstem met 'n spesifieke tipe inligting.

Jou opgemaakte merkers stem nie ooreen met enige tipe inligting nie.Dit sal probleme skep van webkruipers, soos Google.

Lees meer inligting oor die belangrikheid van korrekte opmaak.

Wysig

Divs verwys na groepe van veelvuldige verwante elemente, bedoel om in blokvorm vertoon te word en kan as sodanig gemanipuleer word.

Spanse verwys na elemente wat anders gestileer moet word as die konteks waarin hulle tans is en bedoel is om inlyn vertoon te word, nie as 'n blok nie.'n Voorbeeld is as 'n paar woorde in 'n sin hoofletters moet wees.

Gepasmaakte etikette korreleer nie met enige standaarde nie en daarom moet span/div eerder met klas/ID-eienskappe gebruik word.

Daar is baie spesifieke vrystellings hierop, soos Hoekige JS

Alhoewel CSS 'n ding het wat 'n "merkerkieser" genoem word, weet dit nie eintlik wat 'n merker is nie.Dit word vir die dokument se taal oorgelaat om te definieer.CSS is ontwerp om nie net met HTML gebruik te word nie, maar ook met XML, waar (as jy nie 'n DTD of ander valideringskema gebruik nie) die etikette omtrent enigiets kan wees.Jy kan dit ook met ander tale gebruik, alhoewel jy met jou eie semantiek vorendag sal moet kom vir presies waarmee dinge soos "etikette" en "kenmerke" ooreenstem.

Blaaiers pas gewoonlik CSS toe op onbekende merkers in HTML, want dit word as beter beskou as om heeltemal te breek:ten minste kan hulle iets vertoon.Maar dit is baie slegte praktyk om "vals" merkers doelbewus te gebruik.Een rede hiervoor is dat nuwe merkers wel van tyd tot tyd gedefinieer word, en as een gedefinieer word wat soos jou vals merker lyk, maar nie heeltemal op dieselfde manier werk nie, kan dit probleme met jou werf op nuwe blaaiers veroorsaak.

Waarom werk CSS met vals elemente? Want dit maak niemand seer nie, want jy is in elk geval nie veronderstel om hulle te gebruik nie.

Hoekom wil my professor nie hê ek moet opgemaakte elemente gebruik nie? Want as daardie element in die toekoms deur 'n spesifikasie gedefinieer word, sal jou element 'n onvoorspelbare gedrag hê.

Ook, hoekom het hy nie geweet dat opgemaakte elemente bestaan ​​en met CSS werk nie.Is hulle ongewoon? Omdat hy, soos die meeste ander webontwikkelaars, verstaan ​​dat ons nie dinge moet gebruik wat in die toekoms lukraak kan breek nie.

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top