Uitleggen waarom styling niet rechtstreeks in HTML moet worden gedaan

ItamarG3 08/15/2017. 12 answers, 2.942 views
lesson-ideas web-development html css

Ik heb onlangs gemerkt dat is gedeprecieerd van html volgens deze site . Vanaf dit antwoord op Stack Overflow wordt de selectiekader vervangen door CSS. De verklaring voor de verandering is dat html gaat over de documentstructuur, en dat lay-out en animatie en styling enz. Moeten worden gedaan vanuit CSS.

Dit zette me aan het denken:

Zou expliciet het verschil worden geleerd tussen het instellen van het style van een html tag en het doen via CSS, nuttig voor het vergroten van het begrip van de leerlingen over het samenvoegen van CSS en HTML?

Om het te verfijnen, ben ik op zoek naar voorbeelden of uitleg over hoe expliciet het doceren het de studenten gemakkelijker kan maken om hun webpagina's vorm te geven . Bij voorkeur een uitleg.

Door 'expliciet te leren', bedoel ik eigenlijk een les met de titel 'Styling door .CSS' of iets dergelijks.

Enige context, als het nodig is:

De studenten leren basis webontwerpen: HTML, JavaScript (erg basic), JSP en SQL. Ze leren deze gedurende 1 jaar en aan het einde van het jaar zouden ze een website moeten hebben (waarvoor ze cijfers halen). Ik vraag me af of een les volledig over CSS uiteindelijk kan leiden tot mooiere websites.

5 Comments
3 Puppy 07/30/2017
Het kernprobleem hier is dat je ervan uitgaat dat styling niet rechtstreeks in HTML moet worden gedaan en dat het gebruik van CSS beter is. Geen van deze dingen is waar.
ItamarG3 07/31/2017
@Puppy nou, een deel van de vraag is of ik het apart moet leren. Als ik dat niet doe, zullen ze geen stylesheets gebruiken. Maar denkt u dat een website waar dan ook eigenlijk al zijn css codeert in html? Every div heeft een berg code in zijn stijlattribuut?
1 David Spence 07/31/2017
Deze site toont de kracht van het gescheiden houden van CSS. csszengarden.com - Dezelfde structuur, verschillende CSS-stylesheet.
ItamarG3 07/31/2017
@DavidSpence leuk. Ik zal dat zeker gebruiken
1 no comprende 07/31/2017
Wat je ook doet, laat ze deze SO post over het ontleden van HTML met Regex niet zien . Kan ze nachtmerries geven!

12 Answers


richard 07/30/2017.

Ik vind het leuk om een ​​paar stijlbladen te maken en de leerlingen deze op hun HTML toe te passen. Ze kunnen dan de kracht zien van afzonderlijke stylesheets.

Ze kunnen dan beginnen met het bewerken van de stylesheets, en zien dat de kracht van één kleine wijziging elke kop kan veranderen, of elke alinea enz.

Ik heb in het verleden ook een HTML-bestand geschreven met onderaan een reeks knoppen. Deze knoppen zouden ertoe leiden dat een ander CSS-bestand wordt geladen. Het was een heel eenvoudig JavaScript.

Om te antwoorden moeten ze gescheiden worden gehouden

Stijl en inhoud gescheiden houden, wordt aanbevolen door W3 en vele anderen. Het implementeert scheiding van zorgen en afzonderlijke verantwoordelijkheid. Beide zeer belangrijke patronen in softwareontwerp.

Om te antwoorden moet je een les wijden aan het scheiden van CSS-bestanden.

Ja. Als het belangrijk is om deze gescheiden te houden, wat het is, dan zou je leerlingen moeten leren om ze gescheiden te houden. Bespaar tijd door ze niet te leren om het met de HTML te mixen (dit bespaart u twee keer tijd, omdat u het niet hoeft te leren).


Ik heb dit alleen gedaan met een of twee mensen (geen klas).

5 comments
ItamarG3 07/30/2017
Die tweede alinea klinkt vooral nuttig. Maar dat geeft geen antwoord of ik echt een les moet wijden aan het leren hoe en waarom iemand een CSS-stylesheet zou moeten schrijven in plaats van inline HTML-stijlattributen.
richard 07/30/2017
Een gedeeltelijk antwoord toegevoegd aan Als en waarom er een les aan zou wijden.
1 Buffy 07/30/2017
Ik ben het ermee eens dat niet-onderwijzen een bijzonder verkwistend gebruik van ieders tijd is. Het is het beste om misvattingen op te vangen voordat slechte gewoonten worden opgebouwd en versterkt.
1 richard 07/30/2017
@tim, dit is slechts een optimisation belasting. Conceptualiteit moet het nog steeds gescheiden blijven. Google zegt echter dat het in hetzelfde bestand staat. Ze zeggen niet dat je elk bit apart moet stylen. Ze zeggen dat je neemt wat er in een css-bestand zou kunnen staan ​​en voeg het toe aan het <style> gedeelte van de html.
1 Darren 07/31/2017
In plaats van de studenten een verscheidenheid aan stylesheets te geven die hun code beïnvloeden, zou ik de tegenovergestelde benadering proberen. Nadat u inline-stijlen in HTML hebt geleerd, geeft u ze een pagina die op een CSS-document vertrouwt voor de stijl en vraagt ​​u hen hiervoor hun eigen stylesheet te maken (met dezelfde technieken die zij hebben geleerd met inline HTML - alleen een kwestie van de stijlen labelen) en ze samenvoegen op één plek). Dan kan iedereen in de klas hun stylesheets vergelijken op een gemeenschappelijk testonderwerp (degene die je hebt opgegeven) en de mogelijkheden bekijken.

Buffy 07/30/2017.

Als u alleen een pagina wilt bouwen die eenvoudig en ad hoc is en in de toekomst nooit meer zal veranderen en alleen op één apparaat te zien zal zijn, bouw dan de vormgeving direct in html. Het is hetzelfde wanneer je een programma schrijft dat maar één keer op één apparaat wordt uitgevoerd om een ​​antwoord te krijgen, waarna het programma overbodig wordt. Er is dan geen reden om zorgvuldig te coderen. "Snel en vies" werkt voor dergelijke dingen.

However veranderen However dingen en webpagina's worden bekeken op apparaten met verschillende schermformaten, zelfs kleurenmodellen. En ze kunnen in de toekomst worden bekeken op apparaten die nog niet bestaan.

Dus als u sites wilt bouwen die belangrijk en duurzaam zijn en die in de toekomst moeten worden onderhouden, gebruikt u CSS. Je zou waarschijnlijk niet een belangrijk C-programma schrijven, maar zou in elk geval de dingen die hetzelfde moeten zijn, maar hergebruikt moeten zijn. In eenvoudige C-programmering gebruiken we hiervoor functies. In html houden we rekening met styling. Op een dieper niveau filtert de serverzijde ook veel van de gegevens, enz. Dit laat dingen toe die verondersteld hetzelfde te zijn, hetzelfde te blijven, en laat ons een niveau van ontwerp onafhankelijk van andere niveaus wijzigen.

Dit is niet precies hetzelfde, maar kijk eens naar de onderliggende code van Google's voorpagina. Ik weet niet wat ze gebruiken om dat samen te stellen en te onderhouden, maar ik betwijfel of het gewoon een teksteditor is. Merk op dat hun voorpagina , hoewel ongelooflijk eenvoudig qua lay-out, vaak verandert.

Note to the Instructor Als u klaar bent om het werk van de leerling te beoordelen, bekijk het dan op verschillende apparaten, met verschillende schermresoluties. Ik suggereer echter niet dat je ze ook per css voor apparaten aanlevert.

Bekijk trouwens sommige van de StackExchange-pagina's op een desktop versus een telefoon. En bekijk voor een shocker zowel de bron- als de stylesheets van sommige pagina's.

2 comments
1 Luke Sawczak 07/31/2017
De vergelijking met functies is goed. Ik neem aan dat de betreffende zonde direct stijlkenmerken levert in bron-HTML. Als dat zo is, kan het worden vergeleken met het nemen van het lichaam van een methode en gewoon blijven steken waar je de methode zou gaan gebruiken. In het extreme contraproductief.
no comprende 08/01/2017
Voor een echte shocker, kijk naar de bron en stylesheets van Microsoft-pagina's en Moodle! Ze kunnen honderden regels lang zijn. Het oorspronkelijke concept van HTML was dat het zou werken op apparaten die "nog niet bestaan". En er zijn momenteel zoveel schermformaten dat het net zo goed gewoon een variabele kan zijn.

AnoE 07/30/2017.

Om ze echt te laten begrijpen wat je alleen met CSS kunt doen - met only een ander CSS-bestand te vervangen - breng je ze naar de CSS Zen Garden . Met exact dezelfde HTML voor elke pagina en only het .css-bestand vervangen, krijg je absurd wilde pagina's. Van sereen klein niets naar 3D-scrollende kubussen ...

Leg ze vervolgens uit dat de skillset die nodig is om de HTML te maken, versus de skillset voor (met name extreme zoals die) CSS enorm verschilt en dat de HTML alleen als informatiedrager fungeert.

Een ander goed idee zou zijn om een ​​schermlezer (voor blinden) te installeren - er zijn er met beperkt gratis gebruik - om ze te laten zien hoe dezelfde HTML er "uitziet" wanneer ze hardop wordt gesproken.

Merk ook op dat die hulpmiddelen voor slechtzienden bijvoorbeeld linkteksten kunnen extraheren uit de HTML als deze goed gestructureerd is, en dit maakt het ook mogelijk om alleen met een toetsenbord te navigeren - wat handig kan zijn als er een is is zo geneigd, zelfs als het zicht goed is.

Tot slot, wees erop dat een pagina met een goede scheiding van inhoud en styling een grotere kans heeft om op draagbare apparaten te werken - het sleutelwoord is responsief ontwerp, waarbij de inhoud vrijelijk naar elke resolutie kan stromen als dat nodig is.


thehayro 07/30/2017.

Om het te verfijnen, ben ik op zoek naar voorbeelden of uitleg over hoe expliciet het doceren het de studenten gemakkelijker kan maken om hun webpagina's vorm te geven. Bij voorkeur een uitleg.

Zoals richard zegt, kunnen de leerlingen zien hoe een eenvoudige bewerking van de stijl elk element kan veranderen.

U zou bijvoorbeeld uw leerlingen het voordeel van een scheiding van de stijl van de HTML kunnen laten voelen. Wat betekent, geef ze een oefening, waar ze bepaalde elementen (bijv. De achtergrond van het element) in hun html moeten stijlen. Laat ze dan elk element veranderen in een andere kleur. De les zou zijn om ze te laten begrijpen dat deze taak veel minder tijdrovend kan zijn als je de stijl van de HTML scheidt. U kunt dan laten zien hoe u één regel in de css kunt wijzigen, waardoor alle achtergrondkleur van de elementen verandert.

4 comments
thesecretmaster♦ 07/30/2017
Hé thehayro! Welkom bij Computer Science Educators !
Puppy 07/30/2017
Als alternatief kunnen ze hun HTML genereren via code als een verstandige persoon. In dat geval is het triviaal om de kleur van elk element te wijzigen zonder afzonderlijke stylesheets.
1 thehayro 07/30/2017
Zeker. Dat is aan de vereisten waar de webpagina moet worden weergegeven (mobiel / desktop). Maar de vraag voor zover ik het begreep, was hoe uit te leggen waarom en hoe er behoefte is aan een scheiding van HTML en CSS.
no comprende 08/01/2017
Toen ik CSS aan het leren was, gaf ik mezelf de taak een aanzienlijk schaakbord te maken en een canonieke paginalay-out met drie kolommen met kop- en voettekst.

SpiritBH 07/31/2017.

Welnu, vraag jezelf af: waarom scheiden we iets in elke vorm van code?

In bijna elke programmeertaal / scripttaal is er sprake van scheiding en delegatie. We doen dit om ervoor te zorgen dat we gemakkelijker alle code kunnen volgen en gemakkelijker problemen kunnen identificeren (dit zal onvermijdelijk uitvallen omdat geen programmeur onfeilbaar is)

Dus ik denk dat een speciale les over CSS een goed idee is, omdat het hen helpt te begrijpen waarvoor ze verantwoordelijk zijn. Het helpt hen te begrijpen dat als alle HTML correct is als ze naar de bron kijken, maar alle make-up nog steeds door elkaar zit, dat ze naar de CSS moeten kijken.

Bovendien is CSS groot, flexibel en kan het veel meer doen dan alleen maar een mooie rand om dingen heen zetten. Om de klas te laten zien wat het kan en hoe complex het kan worden, zal het punt verder naar huis drijven hoe het onverstandig is om de HTML en CSS te diep te mengen.

Uiteindelijk is de scheiding van CSS en HTML (of welke code dan ook) een ontwikkelingsattitude; het gaat er niet om dat de creatie (beter) functioneert, het gaat erom dat de ontwikkelaar meer en gemakkelijker controle heeft over hun creatie.

Misschien wil je op die notitie proberen de klas elkaars werk te laten controleren, zodat ze kunnen zien hoe belangrijk het is om gedelegeerde code te hebben wanneer je in een team werkt.

1 comments
ItamarG3 07/31/2017
je brengt een aantal zeer interessante punten naar voren. Bedankt! en welkom bij Computer Science Educators

gabe3886 07/31/2017.

Een enigszins andere manier om ernaar te kijken is om DRY code in te voeren (Do not Repeat Yourself).

Door CSS te gebruiken om de styling te doen, weet je dat door het eenvoudig toevoegen van een klasse aan een HTML-element, de styling moet doorgaan. Als je dit allemaal handmatig moest toevoegen, dan moet je, als je een onderdeel moet veranderen, nog veel, veel meer veranderen.

Om een ​​idee van illustratie van W3-scholen te stelen, als je wilt dat alinea's verschillende achtergrondkleuren hebben, zou je het op deze manier kunnen doen:

Paragraph 1

Paragraph 2

Paragraph 3

Paragraph 4

Maar als ik de volgorde wil wijzigen zodat deze 2,4,3,1 is maar de kleur behoudt, moet ik alle stijlen die in elke tag zijn ingebouwd, wijzigen. Als dat op meerdere pagina's staat, kan de werklast enorm zijn.

Als ik het in CSS heb gedaan, kan ik het volgende doen:

p:nth-child(odd) {
    background: red;
}

p:nth-child(even) {
    background: blue;
} 

Het maakt nu niet meer uit wat de inhoud is, ik kan ze bestellen zoals ik wil en de styling werkt nog steeds. Er is veel moeite veranderd. Als ik de volgorde negeer, als ik ze wilde veranderen in meer gevoelige kleuren, zodat ze gemakkelijk leesbaar zijn, verander ik de waarde eenmaal in CSS en wordt deze toegepast op elk overeenkomend DOM-item.

Buiten dat (omdat CSS kan worden ingesloten in HTML in de head-tag), kan het splitsen in een bestand en dat betekent dat ik mijn (nu meer verstandige) CSS niet in verschillende bestanden hoef te herhalen, in mapstructuren voor elke pagina die ik heb. Ik neem het CSS-bestand op in de kop en de stijlen worden van kracht. Als ik nu de kleuren moet aanpassen of extra stijlen moet toevoegen, krijg ik dezelfde voordelen als het niet nodig zijn om te dupliceren, wat ik had door geen inline stijlen te gebruiken.

Een ander voordeel van het hebben van een afzonderlijk bestand, weg van de gedeelde verantwoordelijkheden, is prestaties. Browsers zijn redelijk goed in het cachen van bestanden, dus als het een enkel (ideaal verkleind) CSS-bestand voor de site moet downloaden dat het vervolgens opnieuw kan toepassen, is het een ding minder om het voor andere pagina's te downloaden. Prestaties moeten altijd een aandachtspunt voor mensen zijn, vooral met de toename van mobiel browsen. Als een webpagina veel CSS bevat, dan is de bron natuurlijk groot. Dit duurt langer om te downloaden en / of bruikbaar te worden, wat mensen ervan kan afbrengen, het wachten wordt onaanvaardbaar voor hen.


ncmathsadist 08/01/2017.

We leren dat er drie lagen zijn op een webpagina: structuur, uiterlijk en gedrag. Structuur wordt bepaald door de DOM, die is gemaakt met goed gevormde HTML5-markeringen. Wanneer we leren over HTML, beginnen we meteen met het tekenen van de documentenboom, zodat we kunnen begrijpen hoe elementen op een pagina op elkaar betrekking hebben.

Uiterlijk wordt bepaald door CSS, die toegang heeft tot de DOM om de pagina te formatteren en op te maken. Dit wordt bewaard in een apart bestand zodat het kan worden gedeeld door een gerelateerde groep pagina's. HTML verwerkt ad hoc-situaties met id of class . Het gebruik van deze maakt het onderhouden van pagina's eenvoudiger, omdat de stijl voor items met deze kenmerken op one place in een CSS-bestand wordt gemaakt.

De derde laag is gedrag, dat in een JavaScript-bestand zou moeten verschijnen. JavaScript hoeft never op een pagina te worden weergegeven, behalve voor het oproepen van functies uit de code voor het afhandelen van gebeurtenissen. Zelfs dit kan worden bijgevoegd in een JS-bestand. Zorg ervoor dat uw leerlingen op voorhand weten wat onload en onload , zodat ze het aanroepen van code kunnen uitstellen totdat er pagina-elementen bestaan.

Als u Node installeert, kunt u testen van JS-code uitvoeren op de opdrachtregel en testreeksen ontwikkelen voor de functies die u hebt gemaakt.

Het scheiden van de drie lagen houdt dingen netjes en maximaliseert hergebruik van code.


user1639154 07/31/2017.

Het lijkt erop dat veel antwoorden hier niet het punt van overerving op het gebied van styling behandelen, omdat dit ook moet worden geleerd. De basisregel is wat het laatst is gelezen zal worden toegepast.

de eerste die wordt geladen is meestal het externe blad in de kop van het document. Een stylesheet die in de kop van het document is gekoppeld, wordt overschreven door stijlen die inline in het html-hoofdgedeelte worden geplaatst en die op hun beurt ook worden overschreven door stijlen die rechtstreeks op het DOM-element zijn geplaatst. De! Belangrijke tag kan ook worden gebruikt om dit gedrag aan te passen.

De meesten zullen al hun CSS in een eigen bestand plaatsen omdat het gemakkelijker te onderhouden is en niet zoveel werk vereist als het wordt bijgewerkt / gewijzigd.

EDIT: Gewoon om een ​​beetje verder te verduidelijken, het zijn alleen de specifieke stijlen die overeenkomen in de klassen die elkaar zullen botsen / negeren, als de ene inline een stijl toevoegt om tekst te onderstrepen, die niet in de klas voorkomt in het externe blad voor het voegt bijvoorbeeld gewoon die extra styling toe. De klassen vervangen niet rechtstreeks elkaar, maar versmelten met elkaar.

5 comments
1 ItamarG3 07/31/2017
Wauw. Welkom bij Computer Science Educators . Dit is echt iets dat ik niet had overwogen. Ik zou het leuk vinden als je enkele voorbeelden of een beschrijving zou kunnen toevoegen die dat laten zien. (Ik can ze zelf schrijven, maar ik ben meer geïnteresseerd in wat je kunt bedenken). Dit is echt een interessant antwoord :)
1 ItamarG3 07/31/2017
Niet gerelateerd: waarom neem je onze tour niet ? Ik weet zeker dat je het interessant zou vinden.
user1639154 07/31/2017
Ik heb het een beetje verkeerd, het externe stylesheet eerst, dan documentstijlen en dan op het element, mijn brein is nooit 100% op een maandagochtend. :)
ItamarG3 07/31/2017
vergeven en vergeten ;). U kunt uw antwoord bewerken. Er is een edit \ link direct onder je antwoord. Terwijl u bezig bent, zou u een voorbeeld willen toevoegen om aan te tonen wat uw antwoord aanpakt? Het zou echt een veel beter antwoord opleveren: D
user1639154 07/31/2017
Helaas heb ik nu geen tijd. Ik wilde alleen de overerving van css noemen, omdat dit een belangrijk aspect van css is.

rackandboneman 08/03/2017.

Maak een project waarbij het resultaat TWEE totaal verschillende weergaven van same document , bijvoorbeeld een versie die er geweldig uitziet op een grote monitor en een andere die er geweldig uitziet op een iPhone.

Het gebruik van niet-statische webpagina's, maar de door de computer gegenereerde, te updaten documenten zullen het punt nog meer naar voren brengen, omdat het insluiten van stijlinformatie in de documentgenerator het zichtbaar complexer maakt - de enige opties om met stijl te knoeien is ofwel het veranderen van de documentgenerator met alle gedoe betrokken of de stylesheet die precies is wat je van plan was. Nog beter: Wijs two groepen toe in afzonderlijke hoeken van de ruimte om het document te genereren en de stylesheetonderdelen - en regel hoe de specificaties tussen de twee worden gecommuniceerd.

4 comments
ItamarG3 08/03/2017
Dit is ongelofelijk. Wauw.
rackandboneman 08/03/2017
Wel, maak het dan geloofwaardig.
ItamarG3 08/03/2017
Het is ongelooflijk, omdat het een probleem oplost met omstandigheden die ik niet kan onthullen (schooldingen), maar het gaat niet exactly over de vraag ...
1 rackandboneman 08/03/2017
Oh, en ik bemoeit me in de discussie als geen leraar, maar een IT-professional - wat ik beschreef, is waarom dingen in de praktijk worden gedaan, net zoals de theorie die je wilt onderwijzen zegt :)

Chris M. 08/02/2017.

Er zijn veel goede antwoorden hier. Een punt dat ik nog niet heb gezien, is dat inhoud en ontwerp vaak door afzonderlijke mensen of teams worden gemaakt, en dus kan het hebben van elk gedefinieerd met zijn eigen hulpmiddelen en taal de nodige afzonderlijke werkstromen mogelijk maken.

4 comments
ItamarG3 08/02/2017
Wauw. Daar had ik niet aan gedacht. Zou je een beetje willen uitleggen hoe ik dit in een aparte les over het gebruik van CSS-stylesheets kan uitleggen?
Chris M. 08/02/2017
Ik zou een analogie gebruiken. Automonteurs kiezen geen autokleuren. Scenarioschrijvers doen over het algemeen geen kostuumontwerp.
ItamarG3 08/02/2017
Ik snap het. Misschien moet je dergelijke analogieën opnemen in je antwoord door het antwoord te bewerken.
1 Buffy 08/03/2017
Eigenlijk is het erger dan dat. Bij sommige grote bedrijven met een belangrijke aanwezigheid op het web, zit een normteam boven zowel de content- als de lay-outteams. Als de lay-out één pixel van de standaard is, doe je het over. Eén pixel.

thesecretmaster 08/03/2017.

Een belangrijke reden waarom inline-stijlen slecht zijn, is de leesbaarheid van de code, duidelijk en eenvoudig. In dit geval zou een voorbeeld voldoende moeten zijn om uw punt te bewijzen:

  
The Title
This is a super great article

In vergelijking tot:

  
The Title
This is a super great article

In aanvulling op dit voorbeeld maak je de DOM, zonder klassen en id's te gebruiken, veel moeilijker om te manipuleren met javascript en je maakt het onmogelijk om pseudo-elementen en enkele van de erg leuke CSS-selectors te gebruiken, zoals :nth-child() en :first-child , om er maar een paar te noemen.


Puppy 07/31/2017.

Ik ben het daar volkomen mee oneens: de styling moet rechtstreeks in HTML worden gedaan.

Het primaire probleem is dat styling niet eens op afstand onafhankelijk is van de HTML-structuur. Het eenvoudigweg schrijven van de stijlen in een fysiek afzonderlijk bestand verandert dit niet. Een goed voorbeeld is de ondersteuning van mobiele apparaten. In theorie zou je een mobiel CSS-bestand kunnen maken. Maar in werkelijkheid heeft u waarschijnlijk een volledig apart gebruikersinterfaceontwerp nodig om een ​​goede ervaring op een mobiel apparaat te produceren en vervolgens een afzonderlijke HTML-structuur om dit te ondersteunen, en vervolgens een afzonderlijke set stijlen. "Maak de knop hetzelfde maar een beetje kleiner" werkt alleen voor de kleinste stukjes.

Het produceren van de juiste UI omvat het produceren van de HTML-structuur die de stijlen ondersteunt die u nodig hebt. Omdat de twee in feite intiem gekoppeld zijn, maakt het colocatie van dingen ze eenvoudig begrijpbaar en alles op één plek.

Aangezien u vermoedelijk uw HTML-code genereert, is er bovendien geen probleem met het genereren van HTML met gedupliceerde stijlen, omdat uw codegenerator stijlen de hele dag kan uitspugen.

Het hebben van ruwe CSS is enorm problematisch omdat de stijlen volledig willekeurig zijn en op wereldschaal en moeilijk te hergebruiken zijn. Je maakt een klasnaam in de hoop dat niemand anders hem gebruikt. Je nestelt je eigen klassen in dat element om dit probleem een ​​beetje op te lossen, maar nu kun je deze klassen niet op andere plaatsen opnieuw gebruiken omdat ze niet in de juiste DOM-structuur zitten. Dan kom je erachter dat een willekeurige dude in een volledig ander deel van je pagina je klas heeft gebruikt zonder je op de hoogte te stellen en nu heb je het kapot gemaakt door je stijlen te veranderen. En veel succes met typecontrole, IDE-ondersteuning, etc. Het is ook moeilijk om bijvoorbeeld geparametriseerde klassen te maken, of globaal vervangingen toe te passen, bijvoorbeeld display: flex met display: flex en display: -webkit-flex voor iOS.

De juiste manier om met stijlen om te gaan, is om ze te behandelen zoals bij elke andere code - inkapseling ervan in sommige functies.

5 comments
1 thesecretmaster♦ 07/31/2017
Hallo puppy, welkom bij Computer Science Educators ! Als je een andere pup wilt ontmoeten, kun je in de chat hallo zeggen tegen Buffy , die een bulldog is. Dit is een interessant antwoord, bedankt voor het delen van uw perspectief hier!
2 richard 07/31/2017
Hoewel ik het niet eens ben met alles wat je zegt. Ik begrijp je punt. Vooral de laatste regel (ik denk dat je dit moet uitbreiden). Laat ons zien hoe je denkt dat het moet worden gedaan. Zelfs als we het niet 100% eens zijn, kunnen we iets leren.
no comprende 08/01/2017
Je antwoord herinnert me aan de tijd dat ik een vraag stelde en iemand zei: "Als je de mis leest in het Latijn." Er zijn veel 'juiste' manieren om dingen te doen en vanuit jouw oogpunt maakt het met gegenereerde HTML inderdaad geen verschil. Maar de meeste instructeurs onderwijzen geen gegenereerde HTML, net zoals de meeste programmeurs niet leren hoe ze compilers moeten schrijven. De laag die we toevoegen om het onderhoud van HTML-bestanden eenvoudiger te maken, is overbodig met weggooi-HTML. Ik vind het ook leuk om dingen te genereren, maar ik ben in de enorme minderheid. Misschien kunnen we ergens over Domain Specific Languages ​​praten?
Puppy 08/01/2017
Cursusleiders die geen gegenereerde HTML leren, geven geen bruikbare HTML.
ItamarG3 08/02/2017
@Puppy Is dat zo?

Related questions

Hot questions

Language

Popular Tags