"Real software engineers work from 9 to 5, because that is the way the job is described in the formal spec. Working late would feel like using an undocumented external procedure."
P&W -> W&G
https://fgheysels.github.io/
[ Voor 20% gewijzigd door Reveller op 14-04-2004 19:09 ]
"Real software engineers work from 9 to 5, because that is the way the job is described in the formal spec. Working late would feel like using an undocumented external procedure."
Regeren is vooruitschuiven
Verwijderd
Verder begrijp ik niet waarom je Netscape 4 wilt ondersteunen. Wat Netscape 4 betreft: die gebruikers hoeven geen fantastische websites meer te verwachten. Als je CSS een beetje handig toepast, zal het in Netscape 4 niet mooi, maar wel bruikbaar zijn. Verwacht niet dezelfde layout.
Verwijderd
Maar wat is precies het probleem met deze layout? Als je nu eerst eens uitlegt wat je al geprobeerd hebt en wat je niet lukt, dan helpen we je wel verder. Maar nu klinkt het erg als: "zoek dit ff voor me uit", en daar heb ik en de meeste hier weinig zin in eigenlijk.
Prima toch?
met absolute haat je iets uit de flow. Het reserveert dan geen ruimte meer waardoor andere elementen anders weggedrukt zouden worden (meestal verticaal, maar met floats ook horizontaal). Flow en nesting zijn alleen wel je vrienden2. Er worden veel mogelijkheden gegeven om een pagina op te bouwen: sommigen geven de absolute left en top waarden van elk #element aan, anderen werken met geneste <div>'s, waarbij deze ten opzichte van elkaar gepositioneerd worden
Naar mijn mening zijn er een paar essentiele dingen die je over CSS moet weten om er überhaupt iets mee te kunnen;
- Hoe de verschillende display types werken en samenwerken; de flow.
- Hoe je position:absolute en position:relative handig kan gebruiken.
- Wat wel en niet te doen met floats en clear.
- Begrip van boxmodels.
- Vergeet denken in "cellen". Een element kan ook makkelijk buiten zijn parent gepositioneerd worden zonder dat dat de flow in de weg zit.
- Dat procentuele waardes altijd van de directe parent erven; height:100% zal dus nooit meer dan viewport hoogte worden.
- Dat er een verschil is tussen een visueel effect, en de fysieke dimensies van een element waar dat effect op lijkt te staan; 2 "even lange" kolommen hoeven niet even lang te zijn (zoals tabel cellen) om toch even lang te lijken. Dit kan je veel makkelijker doen door een parent - die de hoogte van de grootste kolom aanneemt - een background met repeat-y te geven waar dat effect inzit, en de kolommen zelf met rust te laten.
- Wat collapsing margins zijn.
- Dat je met nesting en background images meerdere grafische lagen kan stapelen, elk met hun eigen repeat richting.
- Dat IE geen maatstaf is voor hoe goed je CSS is, ook al zie je wel het gewenste effect, en b.v. in een andere browser niet.
1
2
3
4
5
6
7
8
9
10
11
| body {
font-size:12px;
}
* {
font-size:100%;
}
h1 {
font-size:125%;
} |
Als je dan de fontsize van alleen de body aanpast met javascript, schaalt ALLE content van je pagina automatisch mee. Zo kan je makkelijk verschillende fontsizes in je pagina inbouwen.
en *{} overschrijft zo inderdaad -niet- de body{} omdat * een specificity van 0 heeft, en body{} heeft 1
Instagram | Flickr | "Let my music become battle cries" - Frédéric Chopin
Verwijderd
Ik zou voorstellen: doe het lekker met tabellen en CSS. Waarom geen tabellen meer? Die zijn juist tot nu toe nog met alles compatible.
Ook iets lastigs: een div absolute plaatsen op 150px,200px en dan uitlijnen tot de rechterzijde van de browser, bv. width: 100% - dat gaat niet! 100% = de breedte van het scherm, en dan vanaf 150px, dus ook rechts 150px buiten beeld!
En probeer eens een border aan een div te geven. border: 1px solid black
Wat gebeurd er? Die browsers zetten die ene pixel BUITEN het div kader. En dan verschijnt er rechts een schuifbalk, en daardoor ook aan de onderkant een. Grrrr.
Een tabel is toch veel fijner.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| <html> <body style="margin: 0px;"> <div style="position: absolute; left: 150px; top: 200px; width: 100%; background-color: red;"> Dit werkt dus niet omdat het altijd van het scherm afloopt </div> <div style="position: absolute; left: 0px; padding-left: 150px; top: 250px; width: 100%; background-color: yellow; border: 1px solid black;"> Dit werkt ook niet helemaal, ivm de achtergrond kleur </div> <table cellspacing="0" cellpadding="0" border="0" style="position: absolute; left: 0px; top: 300px; width: 100%; border: 1px solid black;"> <tr> <td style="width: 150px;">[img]""[/img]</td> <td style="width: 100%; background-color: blue;">Dit werkt lekker wel!</td> </tr> </table> </body> </html> |
Verwijderd
1
2
3
4
5
| <div id="test"> <div id="content"> <p>Werkt ook goed</p> </div> </div> |
En die style je vervolgens met:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| body, p { margin: 0; } #test { position: absolute; left: 0; top: 200px; background-color: yellow; width: 100%; color: #FFFFFF; border-style: solid; border-color: black; border-width: 1px 0px 1px 0px; } #content { background-color: green; margin-left: 150px; } |
Dat je het niet wilt gebruiken is jouw keuze, maar zeg niet dat het niet kan.
Dynamiel
...
Ook iets lastigs: een div absolute plaatsen op 150px,200px en dan uitlijnen tot de rechterzijde van de browser, bv. width: 100% - dat gaat niet! 100% = de breedte van het scherm, en dan vanaf 150px, dus ook rechts 150px buiten beeld!
- Hoe de verschillende display types werken en samenwerken; de flow.
- Hoe je position:absolute en position:relative handig kan gebruiken.
En probeer eens een border aan een div te geven. border: 1px solid black
Wat gebeurd er? Die browsers zetten die ene pixel BUITEN het div kader. En dan verschijnt er rechts een schuifbalk, en daardoor ook aan de onderkant een. Grrrr.
- Begrip van boxmodels.
1
2
3
| position:absolute; left:150px; right:0; |
Instagram | Flickr | "Let my music become battle cries" - Frédéric Chopin
Verwijderd
Blijft mijn vraag en verbazing: waarom zou je geen tabellen (icm CSS) meer mogen gaan gebruiken? Moet het met CSS in de toekomst? Die tabellen zijn toch veel beter downwards compatible?
[ Voor 19% gewijzigd door Verwijderd op 15-04-2004 15:49 ]
Verwijderd
En nja, downward compatibility moet je toch durven lostlaten na een tijdje, anders kun je elke verbetering in html wel vergeten. Voordeel aan css goed gebruiken is dat iemand die een hele oude browser heeft nogsteeds de pagina kan zien, ook al ziet ie niet je fancy design.
[ Voor 60% gewijzigd door Verwijderd op 15-04-2004 15:50 ]
