schaduw rond webpagina maken

  • Onderwerp starter Onderwerp starter FoBa
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

FoBa

Gebruiker
Lid geworden
16 feb 2012
Berichten
110
Hallo iedereen ik ben nu al een tijdje op zoek naar de oplossing voor mijn vraag...
Ik heb een site met een div die mijn pagina een vaste breedte geeft maar nu zou ik rond die div een schaduw willen.
zoals je hier eigenlijk kan zien: http://www.kahosl.be/site/index.php?p=/nl/page/system:index/kaho/

kan iemand me verder helpen aub?

(ik denk ondertussen dat dit iets te maken heeft met dropshadow)

mvg
 
Hoi FoBa,
Ja, de schaduwen komen wel mooi tevoorschijn in Firefox, Chrome, Opera en Safari, maar niet in de Internet Explorers.

Dat zit 'm in de box-shadow eigenschap, die css3 is en niet door IE7 en IE8 wordt ondersteund.
In dit geval ook niet door IE9, want die is met een <meta http-equiv="X-UA-Compatible" content="IE=7" /> teruggeschakeld naar IE7.

Wat je zou kunnen doen, is het IE-CSS3 script ophalen (hier te bekomen), dat met enige toverkunsten de IE's toch css3 laat produceren.
In de <head> van elke pagina moet dan opgenomen worden een verwijzing naar de map waarin het script is gezet:
HTML:
...
<!--[if IE]>
   <style type="text/css">
      .omlijsting { behavior: url(scripts/ie-css3.htc); }
   </style>
<![endif]-->
</head>

Mocht dat niet werken, geef maar een brul: dan kan het ook altijd nog door twee kleine images toe te voegen en de css wat te wijzigen.

Met vriendelijke groet,
CSShunter
 
Laatst bewerkt:
CSS boxshadow.

Hoi FoBa,

Als je op zoek bent naar de code die je kunt gebruiken in je CSS zoek je deze:

-webkit-box-shadow: 2px 3px 4px 5px rgba(0, 0, 0, 0.5);
-moz-box-shadow: 2px 3px 4px 5px rgba(0, 0, 0, 0.5);
box-shadow: 2px 3px 4px 5px rgba(0, 0, 0, 0.5);


De -webkit- is voor de chome en safari browsers, -moz- voor de mozilla(netscape) browsers en box-shadow vangt de rest op (zoals firefox etc.) Box-shadow zou vanaf IE9 moeten werken, maar zoals csshunter al uitlegt, is dat bij jou niet het geval. Houdt hier rekening mee.

Even een korte uitleg van de waardes:
2px = de horizontale lengte van de schaduw,
3px = de verticale lengte van de schaduw,
4px = de blur radius van de schaduw,
5px staat voor de spread van de schaduw.
rgba(0,0,0,0.5) is nu de kleur zwart, met een opacity van 0.5

Deze waardes kan je natuurlijk zelf aanpassen en zo kijken wat je het best bij je design vindt staan.

Hopelijk is dit wat je zocht!
 
Laatst bewerkt:
Ik had het ondertussen al gevonden en ik heb het gedaan zoals Jonna voorstelde...
csshunter toch bedankt ;)
 
Ja, wat Jonna zei, stond al in de css; dan blijft alles dus bij het oude. ;)
(En worden de schaduwen in geen enkele versie van Internet Explorer getoond; d.w.z. ca. 43% van de bezoekers).
Wel de snelste keuze! :)

Met vriendelijke groet,
CSShunter
 
Laatst bewerkt:
Hoi FoBa,
Nu kreeg ik toch opeens een aanval van medelijden met al die zielige Internet Explorer-bezoekers! :rolleyes:

Het verhaal van de ie-css3.htc kan vergeten worden, want het blijkt heel eenvoudig met 1 img en wat css te kunnen.
Men neme:
  • Een combinatie-afbeelding van de linker- en rechterschaduwrand, en van de onderste schaduwrand.
  • Dat is dit kleintje (nog geen 1kB): schaduwen-combinatie.png.
  • Het wit hierin is transparant; de linkerhelft is de onderrand, de rechterhelft zijn de zijkanten.
  • De <html> krijgt een achtergrond: de grijze kleur. Dat is voorwaarde voor de volgende.
  • De <body> wordt op de breedte van de oude breedte + de schaduwrandjes L en R gezet, wordt gecentreerd, en krijgt de rechterhelft van de combi-afbeelding met een verticale herhaling.
  • Nu lopen de L/R-schaduwen tot helemaal onderaan de pagina door.
  • Dat wordt opgelost door de onderschaduw (zonder herhaling) als background-image te monteren in de <div class="voetertekst">, waardoor de verticale L/R-schaduwen van de <body> overgeplakt worden.
  • De voetertekst-breedte moet nu L en R over de breedte van de <div class="voeter"> heen komen om de schaduwhoekjes L en R er overheen te krijgen.
  • Daartoe krijgt de .voetertekst de breedte van de hele schaduwrand; met een negatieve margin-left wordt het hoekje van de linkerkant naar links getrokken. Nu sluit deze aan bij de verticale rand (en de rechterkant ook).
  • Nu resteert nog dat de tekst mee naar links is opgeschoven; dat wordt gecompenseerd door bij de padding-left de hoekjes-breedte op te tellen.
  • Tenslotte kunnen met een gerust geweten de 3 css3-regels met de schaduw uit het stylesheet verwijderd worden, want dit is cross-browser (en anders gebeurt het dubbelop).

Al met al wordt de css:
Code:
html { /* toevoegen: */
	background: #DDDDDD;
	}

body { /* toevoegen: */
	width: 1042px;
	margin: 0 auto;
	background: url(images/schaduwen-combinatie.png) repeat-y -1042px 0;
	}

.voetertekst {
	color: #333333;
	font-family: Arial,Helvetica,sans-serif;
	font-size: 9px;
	padding-left: 41px;   /* ipv 30px; */
	padding-top: 25px;
	/* toevoegen: */
	width: 1001px;        /* incl. padding-L de nodige 1042px breedte */
	margin-left: -11px;   /* schaduw-breedte L */
	padding-bottom: 20px; /* schaduwrandje laten zakken onder de tekst */
	background: url(images/schaduwen-combinatie.png) no-repeat 0 100%;
	}
Te verwijderen:
Code:
.omlijsting {
	-moz-box-shadow: 0 0 5px 5px #888;
	-webkit-box-shadow: 0 0 5px 5px#888;
	box-shadow: 0 0 5px 5px #888;
	}
Per saldo heb je er dus maar 8 regeltje css voor nodig.

======
Het heel erg prettige hiervan is:
  • Alleen het img-bestandje hoeft geüpload te worden, en het stylesheet aangepast.
  • Op de 2500 pagina's van de site hoeft niets te veranderen; die pakken het automatisch op. :)

Eerst zien, dan geloven? ;)


  • Test: kahosl-test.htm
  • Alle versies van IE pakken dit op, en de andere browsers ook.

Met vriendelijke groet,
CSShunter
 
Laatst bewerkt:
ik snap het toch niet goed hoor csshunter? :s
even voor de duidelijkheid, de site gegeven is, is niet mijn eigendom/creatie.

Mijn creatie die ik nu opnieuw aan het bouwen ben is: www.wandelclubthoeksken.be
 
Hoi FoBa,
Aha, dan had ik het verkeerd begrepen: ik dacht dat je de webmaster van de kaho-site was. :)
Voor de site van 't Hoeksken gaat het in principe op dezelfde manier...
  • de schaduwen links en rechts achter alles op de pagina,
  • en dan onderaan een strookje er overheen geplakt waar het onderrandje met de onderhoekjes in zitten,
... maar dan met een ander image, en andere aanknopingspunten in de html-code.

Wordt vervolgd!
Met vriendelijke groet,
CSShunter
 
Mijn site is snel gemaakt met een editor, nu ben ik de site zelf aan het schrijven(code).
Ik de voorlopige versie eens uploaden en de link plaatsen.
 
Mooi, dat zal een stuk beter worden, want ik zag dat de editor er allemaal absolute posities van gemaakt had.
Ik wacht de link even af.

Met vriendelijke groet,
CSShunter
 
Dit laat je website er echt super vet uitzien !
meer contrast enz , BEDANKT :p
 
hey csshunter

Ik heb de voorlopige site in een map op de server gezet, zou kan je er ook eens naar kijken.
De shadow werkt in elke browser (safari, opera nog niet niet getest).
http://www.wandelclubthoeksken.be/thoeksken/index.html
De site is zeker nog niet af, ik heb enkel een index, bestuur, galerij pagina...

Commentaar of tips enzo zijn zeker welkom!

grtz
 
Hoi FoBa,
Dat ziet er al een stuk beter uit dan dat het was! :thumb:

De shadow werkt in elke browser (safari, opera nog niet niet getest).
Dat is te zeggen:
  • Hij werkt in de laatste Internet Explorer-versie: IE9.
  • Hij werkt niet in IE7 en IE8 (op dit moment: samen meer dan de helft van de IE-bezoekers, waarin de schaduw niet werkt).
  • Hij werkt in Chrome (laatste versie).
  • Hij werkt niet in Safari 5.0.3 (waarschijnlijk wel in de laatste versie 5.1.4).
  • Hij werkt niet in Firefox 3.6 (waarschijnlijk wel in de laatste versie(s)).
  • Hij werkt in Opera (in ieder geval Opera-11.5 en hoger).

De oudere Firefox'en en Safari's kunnen het wel gaan doen met een kleine correctie. Er staat nu in de hoofdstijl.css:
Code:
div#page {
    ...
    moz-box-shadow: 0 0 5px 5px #888;
    webkit-box-shadow: 0 0 5px 5px #888;
    box-shadow: 0 0 5px 5px #888;
}
Dat moet zijn, met een streepje - voor de moz-box-shadow en de webkit-box-shadow:
Code:
div#page {
    ...
    -moz-box-shadow: 0 0 5px 5px #888;
    -webkit-box-shadow: 0 0 5px 5px #888;
    box-shadow: 0 0 5px 5px #888;
}

Zorgenkindjes blijven dan nog IE7 en IE8: die kunnen gewoon niet op de css3-manier schaduwen maken.

==================

Cross-browser
Wil je IE7 en IE8 ook bedienen, dan moet overgestapt worden naar de eerder beschreven oplossing: een image met de schaduwen.

Stap 1
Daarvoor moeten eerst de drie regels met de box-shadow uit de div#page geschrapt worden (anders komen ze er in sommige browsers dubbel in te staan).

Stap 2
Voor het schaduwrandje onderaan de pagina is het 't makkelijkste om helemaal onderaan in de html-code even een extra <div> toe te voegen. Dan wordt het:
HTML:
...
<div id="footer">
    <div class="page">
        <ul id="foot">
            <li>&copy; Copyright 2012 Bart De Backer</li>

            <li>Wandelclub 't Hoeksken Hamme</li>
        </ul>
    </div>
</div>
</div>

<div id="onderschaduw"><!-- ! --></div>

</body>
</html>

Stap 3
Nu kan de hoofdstijl.css de benodigde instructies krijgen, door helemaal onderaan toe te voegen:
Code:
html { /* toevoegen: */
	background: #f0f8ff;
	}
body { /* toevoegen: */
	width: 982px;
	margin: 0 auto;
	background: url(http://www.wandelclubthoeksken.be/thoeksken/images/hoeksken-schaduwen-combi.gif) repeat-y -982px 0;
	}
#onderschaduw {
	width: 982px;
	height: 20px;
	background: #f0f8ff url(http://www.wandelclubthoeksken.be/thoeksken/images/hoeksken-schaduwen-combi.gif) no-repeat 0 0;
	}
Daarmee moet de zaak rond zijn.

O nee: het image nog! ;)

Stap 4
Image uploaden naar de image-map.

Nu kunnen ook IE7 en IE8 er niet meer omheen: alle browsers tonen nu de schaduwrandjes.

Met vriendelijke groet,
CSShunter
____________
PS: Andere tip
Bovenin de html-code staat <?xml version="1.0" encoding="UTF-8"?>.
Dat regeltje kan helemaal geschrapt worden.
Als het er in staat, schiet Internet Explorer namelijk in de "quirksmode" (de fratsen-toestand), en kunnen hele rare dingen met de opmaak gaan gebeuren.
 
Laatst bewerkt:
Hey csshunter
Bedankt!
Ik ga er aan beginnen als ik eventjes tijd heb.
Heel erg bedankt!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan