|
CSS kode | Forklaring |
---|---|
#sidebar01 | Selektorens navn |
{ | |
width: nnpx; | sidebarens bredde i pixel. |
height: nnpx; | sidebarens højde i pixel. |
position: xxx; | Kan være absolute eller fixed . Ved absolute følger sidebaren med siden op og ned ved scroll. Ved fixed bliver sidebaren stående under scroll af siden. |
top: nnpx; eller bottom: nnpx; | Den vertikale afstand i pixel fra skærmens top eller bund til sidebarens top eller bund. "bottom" synes kun relevant på sider med fast højde. |
left: 50%; ellerright: 50%; | Angivelse af at den horisontale afstandsberegning skal foretages fra midten af skærmen. Det vil være mest hensigtsmæssigt at bruge "left" når sidebaren skal placeres langs skærmens højre side og at bruge "right" når sidebaren skal placeres langs skærmens venstre side |
margin-left: nnpx; eller margin-right: nnpx; | Margin der flytter sidebaren hhv. til højre og venstre i forhold til skærmens midte. javaScript-programmer skal altid anvendes. Vil nok typisk være 400-600 px. |
background: #xxx; | sidebarens baggrundsfarve. Kun medtaget midlertidigt af hensyn til markering. |
} |
HTML-koden er:
<div id="sidebar01"> Div. almindelig HTML-kode </div> |
Ved lille / "minimeret" skærm forbliver sidebaren i samme horisontale position i forhold til wrapper og forsvinder derved under skærmens yderside på den mindre skærm.
En sidebar med afstandsberegning fra skærmens ydersider styres således med CSS:
CSS kode | Forklaring |
---|---|
#sidebar02 | Selektorens navn |
{ | |
width: nnpx; | sidebarens bredde i pixel. |
height: nnpx; | sidebarens højde i pixel. |
position: xxx; | Kan være absolute eller fixed . Ved absolute følger sidebaren med siden op og ned ved scroll. Ved fixed bliver den stående under scroll af siden. |
top: nnpx; eller bottom: nnpx; | Afstanden i pixel fra skærmens top eller bund til sidebarens top eller bund. "bottom" synes kun relevant på sider med fast højde. |
left: nnpx; eller right: nnpx; | Afstanden i pixel fra skærmens venstre eller højre side til sidebarens venstre eller højre side. |
background: #xxx; | sidebarens baggrundsfarve. Kun medtaget midlertidigt af hensyn til markering. |
} |
Ved lille / "minimeret" skærm forbliver sidebaren i samme horisontale position i forhold til skærmens yderside og glider derved ind over wrapperen på den mindre skærm.
Sidebar03 hører egentlig hjemme i en blank kolonne indenfor wrapperen. I mangel af sådan, er den valgte løsning benyttet.
Sidebaren vises som udgangspunkt på den plads, hvor den hører hjemme ifølge strukturen i opbygningen af HTML-siden. Derfor har den position: static;
.
Et lille javaScript program sikrer, at den skifter til position: fixed;
når den møder skærmens overkant - og skifter tilbage igen når der bliver rette tid dertil.
Sidebaren styres således med CSS:
CSS kode | Forklaring |
---|---|
#sidebar03 | Selektorens navn |
{ | |
width: nnpx; | sidebarens bredde i pixel. |
height: nnpx; | sidebarens højde i pixel. |
margin-left: nnpx; margin-right: nnpx; | Afstanden i pixel fra kolonnens venstre eller højre side til sidebarens venstre eller højre side. |
border: xxxxx; | sidebarens omrids. Kun medtaget midlertidigt af hensyn til markering. |
} |
HTML-koden er:
<div class="sidebar03" id="sidebar03"> <p>Sidebar03<br />Intern<br />Static / Fixed</p> </div> |
Det benyttede javaScript program ser således ud:
<script type="text/javascript"> $(function(){ // document ready if (!!$('.sidebar03').offset()) { // make sure ".sidebar03" element exists var stickyTop = $('.sidebar03').offset().top; // returns number $(window).scroll(function(){ // scroll event var windowTop = $(window).scrollTop(); // returns number if (stickyTop < windowTop){ $('.sidebar03').css({ position: 'fixed', top: 0 }); } else { $('.sidebar03').css('position','static'); } }); } }); </script> |
Sidebarer med "håndtag" er næsten altid "sticky". De kan udformes på ganske mange måder og vil altid involvere brugen af javaScript. Muligheden for på+ internettet at finde en, der (næsten) passer er så stor, at det oftest skønnes mere hensigtsmæssigt at downloade og evt. tilpasse, end selv at bygge fra bunden.
------------------------------------------------
Sidebar01 |
---|
HTML-delen placeres lige over <body> |
#sidebar01 { width: 100px; height: 100px; background: red; position: absolute; top: 250px; left: 50%; margin-left: 550px; } |
<div id="sidebar01"> <p>Sidebar01<br />Skærmmidte<br />Absolute</p> </div> </body> |
Sidebar02 |
HTML-delen placeres lige over <body> |
#sidebar02 { width: 100px; height: 100px; background: yellow; position: fixed; top: 100px; right: 25px; } |
<div id="sidebar02"> <p>Sidebar02<br />Skærmkant<br />Fixed</p> </div> </body> |
Sidebar03 |
HTML-delen placeres der hvor den øverste kant af sidebaren skal være. Den er dynamisk derved at den stopper ved skærmkanten. Derfor skal der også anvendes en jQuery. |
#sidebar03{ width: 100px; height: 100px; border: 1px solid red; margin-left: 100px; } |
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" ></script> <script type="text/javascript"> $(function(){ // document ready if (!!$('.sidebar03').offset()) { // make sure ".sidebar03" element exists var stickyTop = $('.sidebar03').offset().top; // returns number $(window).scroll(function(){ // scroll event var windowTop = $(window).scrollTop(); // returns number if (stickyTop < windowTop){ $('.sidebar03').css({ position: 'fixed', top: 0 }); } else { $('.sidebar03').css('position','static'); } }); } }); </script> |
<h1>Sidens toptekst</h1> <div class="sidebar03" id="sidebar03"> <p>Sidebar03<br />Intern<br />Static / Fixed</p> </div> |
Sidebar0 |