[ALG] Separating Content From Presentation

Pagina: 1
Acties:

  • 0528973
  • Registratie: Juni 2003
  • Laatst online: 15-05-2013
Ik heb zojuist het boek gekocht, naar de titel van dit topic.
Interessant boek, heerlijk leerzaam... Ik vraag me alleen af, waarom iedereen(iig een boel) mensen stellen dat door het scheiden van content en presentatie je met 1 of meerdere stylesheets het hele uiterlijk van je site kan aanpassen.

In de meeste gevallen bedoeld men dan niet alleen de kleuren ed, maar ook de posities van de gebruikte output elementen op het scherm.(Correct me if I'm wrong) Zodra ik hier echter over nadenk, zie ik toch echt een aantal situaties waar dit niet in kan. Zie het onderstaande stukje voorbeeld code, deze code bevat geen opmaak maar een output structuur.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
...
<style>
#contentwrapper
{
   background-color: maroon;
   background-image: url('img/left,jpg');
   background-repeat: repeat-y;
   float: left;
}

#content
{
   background-color: green;
   float: left;
}

#hotspot
{
   background-image: url('img/right.jpg');
   background-repeat: repeat-y;
   float: right;
}
</style>
...
<div id="top_banner"></div>
<div id="navwrapper"></div>
<div id="contentwrapper">
   <div id="content"></div>
   <div id="hotspot"></div>
</div>
...


Deze code levert als het goed is, een bannertje met daaronder een menuutje met daaronder een groot vlak met een stukje content en rechts een hotspot. Op dit moment zou geldt de eis geld dat de achtergrond van de hotspot evenver naar beneden moet doorlopen als de achtergrond van content en natuurlijk ook in dezelfde kleur.

Dit probleem zou je kunnen oplossen met bijv. de faux columns, deze oplossing lijkt mij echter iets eleganter. Natuurlijk zou dit probleem ook eventueel met een z-index en absolute positionering op te lossen zijn, maar dan maak je de aanname dat de hoogte van de hotspot ten alle tijden minder hoog zal zijn als de hoogte van de content.

Wanneer ik nu het uiterlijk( niet alleen de kleuren en typografie maar ook de positie van bepaalde elementen) van dit stukje code wil aanpassen, dan moet ik dus niet alleen mijn CSS aanpassen maar ook de html structuur.

Wanneer ik namelijk alleen in de stylesheet wijzigingen doorvoer, blijft de hotspot zich structureel zich namelijk in de contentwrapper bevinden met als gevolg dat de achtergrondkleuren en het content background-image zich structureel verkeerd zullen gaan gedragen.

Zou de bovenstaande situatie nu dus betekenen dat ik de site niet correct opgezet heb, als ik me de beschrijving van de faux-columns voor de geest haal zou dat daar namelijk wel in kunnen, of betekent dit dat sommige zaken op dit moment gewoon nog niet 100% te scheiden zijn... Of betekent dit, dat ik het idee van scheiding van content en presentatie te ver probeer door te voeren mbv de verkeerde hulpmiddelen?

[ Voor 23% gewijzigd door 0528973 op 01-09-2004 11:44 ]

Pascal


  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Het is een goed idee om je content te 'seperaten' van je presentation, maar volledig je site ombouwen is niet simpelweg je css aanpassen.

Je moet dan al in 't ontwerp rekening houden met het plaatsen van je elementen op je pagina. Goed voorbeeld (wat meteen aangeeft dat het niet overal kan werken) is: http://csszengarden.com

[ Voor 4% gewijzigd door BtM909 op 31-08-2004 22:26 ]

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 23-05 14:53
Ik heb dit weleens ooit gedaan, maar toen gebruikte ik gewoon absolute positionering. Dan is het nog wel aardig mogelijk. Als je echter zaken als floats gaat gebruiken wordt het moeilijk omdat de volgorde van de elementen dan de presentatie beïnvloed.

  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
Er zijn (genoeg?) gevallen te bedenken dat je in je HTML output meer elementen of een complexere structuur nodig heeft om een bepaalde soort layout te bewerkstelligen, of als workaround voor een bepaalde browserquirk.

XSLT is voor mij de ideale tool om van 'pure' XHTML bronbestanden output te maken die het meest geschikt voor de bijbehorende presentatie.

  • 0528973
  • Registratie: Juni 2003
  • Laatst online: 15-05-2013
Okay, tot de conclusie dat niet alles op deze manier op te lossen valt had ik al door en helaas blijkt het dus niet op deze manier mogelijk te zijn.

@Genoil, wat bedoel je precies? XHTML, icm XLST klinkt als een interessant optie, echter Anne vertelt dat XHTML niet nuttig is om op dit moment te gebruiken met oa als 1 van de hoofdredenen, dat Internet Explorer het gewoonweg niet voldoende ondersteund... of laat je de server de pagina's processen en uiteindelijk gewoon HTML naar de UA sturen?

Pascal


  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
0528973 schreef op 01 september 2004 @ 11:48:
Okay, tot de conclusie dat niet alles op deze manier op te lossen valt had ik al door en helaas blijkt het dus niet op deze manier mogelijk te zijn.

@Genoil, wat bedoel je precies? XHTML, icm XLST klinkt als een interessant optie, echter Anne vertelt dat XHTML niet nuttig is om op dit moment te gebruiken met oa als 1 van de hoofdredenen, dat Internet Explorer het gewoonweg niet voldoende ondersteund... of laat je de server de pagina's processen en uiteindelijk gewoon HTML naar de UA sturen?
ja dat laatste. ik heb nu bijvoorbeeld een XSLT scriptje welk ervoor zorgt dat afhankelijk van de ACCEPT header van de UA HTML4.01 dan wel XHTML serveert. nouja eigenlijk wordt het grootste deel afgehandelt door PHP5 DOM, maar het resultaat wordt wel door de XSLT processor uitgespuwd.

HTML4/XHTML selector (bekijk met IE6 vs. FF)

(oh en vergeet de meta-equiv = text/html in de FF versie, dat klopt niet want het is wel degelijk application/xhtml+xml)

[ Voor 7% gewijzigd door Genoil op 01-09-2004 12:10 ]


  • 0528973
  • Registratie: Juni 2003
  • Laatst online: 15-05-2013
@Genoil,

Ik heb ff naar de bron gekeken en het enige wat me direct opvalt is dat er in IE een mathplayer object in de head staat en bij ff niet...
Qua uiterlijk verschillen ze niks, wat doet dat mathplayer object in de head bij IE ??

Pascal


  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
0528973 schreef op 01 september 2004 @ 12:22:
@Genoil,

Ik heb ff naar de bron gekeken en het enige wat me direct opvalt is dat er in IE een mathplayer object in de head staat en bij ff niet...
Qua uiterlijk verschillen ze niks, wat doet dat mathplayer object in de head bij IE ??
hehe oja, da's een restantje van een ander experimentje met MathML, opzich wel een aardig voorbeeldje voor dit topic, omdat de XHTML versie in Firefox geen <object> nodig heeft, maar de IE versie wel.

het andere belangrijke verschil is dat de "IE versie" HTML4.01 is (zie DOCTYPE, <br>) en de "Mozilla versie" XHTML is.

[ Voor 12% gewijzigd door Genoil op 01-09-2004 12:42 ]


  • Not Pingu
  • Registratie: November 2001
  • Laatst online: 01-04 20:36

Not Pingu

Dumbass ex machina

De vraag is wanneer je het ooit echt nodig zult hebben om dmv. CSS een site layout volledig aan te passen. Zoja, dan zul je daar in je markup rekening mee moeten houden. Maar zelfs als je gebruik maakt van containers e.d. kun je altijd met absolute positionering uit de voeten. Ingewikkeldere layouts vereisen een specifieke markup, in dat geval zijn de mogelijkheden voor restylen dmv. CSS beperkter. Hoewel dingen als het menu rechts van de content ipv. links eigenlijk in elk geval wel mogelijk zijn.

Maar om bijv. een weblog of forum een 'skin' functie te geven is CSS echt perfect. En verder scheid je content en presentatie niet alleen om flexibeler te kunnen switchen, maar ook om meer overzicht te scheppen in je werkbestanden.

Certified smart block developer op de agile darkchain stack. PM voor info.

Pagina: 1