Yksinkertainen valikko CSS:llä

Yksinkertainen valikko CSS:llä

Viesti Magic Eye 19 Joulu 2006 20:02

Tällaista opasta en täältä löydä, eikä tällä opasalueella ole viime aikoina oppaita ollut, joten päätin tämän näistä syistä tänne kirjoittaa.


Sinun joka tätä luet tulisi osata ainakin (X)HTML:n perusteet ja hieman CSS:ää, jotta ymmärtäisit, mistä tässä on kysymys.



1. Dokumentin rakenne
Koodi: Valitse kaikki
<!-- Yksinkertainen (X)HTML-dokumentin rakenne -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">







<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fi-FI" lang="fi-FI">






   <head>




      <title>Yksinkertainen valikko</title>




      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />







      <style type="text/css">




      /* <![CDATA[ */



















      /* ]]> */




      </style>





   </head>




   <body>




      <div id="navikaatio">



         <h3>Valikko</h3>

         <ul>

            <li><a href="#linkki-1">Linkki 1</a></li>
            <li><a href="#linkki-2">Linkki 2</a></li>
            <li><a href="#linkki-3">Linkki 3</a></li>

         </ul>


      </div>




   </body>





</html>



Edellinen koodinpätkä luo normaalin (X)HTML-dokumentin, joka sisältää järjestämättömän listan. Selaimessa edelinen koodinpätkä näyttää suunnilleen tältä:

  • [url=#linkki-1]Linkki 1[/url]
  • [url=#linkki-2]Linkki 2[/url]
  • [url=#linkki-3]Linkki 3[/url]




2. Tyylittely
Opas voisi olla kokonaisuudessaan tässä, mutta jotakin siitä puuttuu... Aivan! Se on ehkä "vähän" paljaantapainen... Siistitäänpä sitä hieman:
Koodi: Valitse kaikki
#navikaatio
{
   border: 1px solid #eee;  // asettaa laatikkomme ympärille vaaleanharmaan, yhden pikselin paksuisen reunuksen.
   width: 250px;  // asettaa laatikon leveydeksi 250 pikseliä eli noin viisi senttiä.
   padding: 2px;  // pistää kahden pikselin täytteen reunuksen ja taustavärin väliin.
}




Laatikko sai pientä kasvonkohotusta, mutta inhat pallukat ovat edelleen näkyvissä... Seuraavaksi vuorossa kolmannen tason otsikon tyylittely:
Koodi: Valitse kaikki
#navikaatio h3
{
   margin: 0;  // nollaa otsikon "näkymättömän reunuksen" eli etäisyyden muista elementeistä.
   padding-left: 15px;  // sisentää tekstiä viidentoista pikselin verran.
   border-bottom: 1px solid #2b6b83;  // asettaa alareunukseen tummansinisen, yhden pikselin paksuisen reunan.
   background: #428a9e none;  // asettaa vähän vaaleamman sinisen taustavärin otsikolle. HUOM: none tarpeellinen siksi, että jotkut selaimet pistävät oman taustakuvansa joidenkin elementtien kohdalle tyylien ollessa poissa käytöstä.
   color: #fff;  // asettaa otsikolle valkoisen värin paremman luettavuuden takaamiseksi.
   font: 14px/2em "Lucida Grande", verdana, arial, serif;  // asettaa otsikolle fontiksi 14 pikselin korkuisen fontin, ja käy Lucida Grande, verdana ja arial -nimiset fontit läpi. Jos mitään em. fonteista ei järjestelmässä ole, turvautuu mihin tahansa fonttiin serif-fonttiperheestä. Asettaa myös tekstin pystysuunnassa keskelle.
}





Otsikon ollessa kunnossa seuraavaksi tyylittelemme järjestämätöntä listaa:
Koodi: Valitse kaikki
#navikaatio ul
{
   list-style: none;  // poistaa ärsyttävän nappulan jokaisen LI-elementin edestä.
   margin: 0;
   padding: 0;  //  Edelliset lauseet nollaavat tyhjän tilan ja täytteen elementistämme.
}



#navikaatio ul li
{
   border-top: 1px solid #709cb5;  // asettaa vaaleansinisen reunuksen jokaisen listan jäsenen yläpuolelle.
   background: #4e8199 none;  // asettaa tumansinisen taustan elementillemme.
}



#navikaatio ul li a
{
   display: block;  // asettaa linkin lohkoelementiksi joten voimme kontrolloida sen leveyttä.
   padding-left: 20px;  // sisentää linkin tekstiä hieman.
   font: 10px/2.5em verdana, arial, tahoma, serif;  // tämänkin selitin ylempänä...
   text-decoration: none;  // poistaa linkistä alleviivauksen, jota emme tässä tapauksessa tarvitse.
   color: #fff;  // asettaa linkin väriksi valkoisen.
}



#navikaatio ul li a:hover
{
   color: #9fffa5;  // jos ja kun hiiri viedään linkin yläpuolelle, linkin väri muuttuu vaalean vihreäksi.
}




Valmista tuli! Ja koodi kokonaisuudessaan niille, jotka laiskuudessaan eivät itse jaksa kirjoittaa:
Koodi: Valitse kaikki
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">







<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fi-FI" lang="fi-FI">






   <head>




      <title>Yksinkertainen valikko</title>




      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />








      <style type="text/css">




      /* <![CDATA[ */








      #navikaatio
      {
         border: 1px solid #eee;
         width: 250px;
         padding: 2px;
      }




      #navikaatio h3
      {
         margin: 0;
         padding-left: 15px;
         border-bottom: 1px solid #2b6b83;
         background: #428a9e none;
         color: #fff;
         font: 14px/2em "Lucida Grande", verdana, arial, serif;
      }





      #navikaatio ul
      {
         list-style: none;
         margin: 0;
         padding: 0;
      }





      #navikaatio ul li
      {
         border-top: 1px solid #709cb5;
         background: #4e8199 none;
      }





      #navikaatio ul li a
      {
         display: block;
         padding-left: 250px;
         font: 10px/2.5em verdana, arial, tahoma, serif;
         text-decoration: none;
         color: #fff;
      }



      #navikaatio ul li a:hover   {   color: #9fffa5;   }










      /* ]]> */




      </style>





   </head>





   <body>




      <div id="navikaatio">



         <h3>Valikko</h3>


         <ul>

            <li><a href="#linkki-1">Linkki 1</a></li>
            <li><a href="#linkki-2">Linkki 2</a></li>
            <li><a href="#linkki-3">Linkki 3</a></li>

         </ul>



      </div>




   </body>





</html>



oppaan tuloksen voit katsoa tästä.




Ja extraa nille, jotka haluavat, että valikon kaikki elementit säätävät leveytensä selaimen fonttien koon muutettaessa (FireFoxissa Ctrl + + ja Ctrl + -)
Koodi: Valitse kaikki
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">







<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fi-FI" lang="fi-FI">






   <head>




      <title>Yksinkertainen valikko</title>




      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />








      <style type="text/css">




      /* <![CDATA[ */








      #navikaatio
      {
         border: 0.05em solid #eee;
         width: 15em;
         padding: 0.2em;
      }




      #navikaatio h3
      {
         margin: 0;
         padding-left: 1em;
         border-bottom: 0.05em solid #2b6b83;
         background: #428a9e none;
         color: #fff;
         font: 14px/2em "Lucida Grande", verdana, arial, serif;
      }





      #navikaatio ul
      {
         list-style: none;
         margin: 0;
         padding: 0;
      }





      #navikaatio ul li
      {
         border-top: 0.05em solid #709cb5;
         background: #4e8199 none;
      }





      #navikaatio ul li a
      {
         display: block;
         padding-left: 2em;
         font: 10px/2.5em verdana, arial, tahoma, serif;
         text-decoration: none;
         color: #fff;
      }



      #navikaatio ul li a:hover   {   color: #9fffa5;   }










      /* ]]> */




      </style>





   </head>





   <body>




      <div id="navikaatio">



         <h3>Valikko</h3>


         <ul>

            <li><a href="#linkki-1">Linkki 1</a></li>
            <li><a href="#linkki-2">Linkki 2</a></li>
            <li><a href="#linkki-3">Linkki 3</a></li>

         </ul>



      </div>




   </body>





</html>



Ja tästäkin esimerkki sivulla taikasilma.com.








EDIT: Tämä ei toimi kunnolla IE:llä, joten jätän sen SINUN itsesi ratkaisuksi.
Käyttäjän avatar
Magic Eye
 
Viestit: 481

Viesti nge 21 Joulu 2006 13:57

Onpahan tässäkin hieno opas todella hieno lopputulos on tuo kyllä mitallin arvoinen jopa :)
[piilotettu kuva]
Shittiä
nge
 
Viestit: 651

Viesti d-hunter 27 Joulu 2006 22:40

Noissa koodipätkissä on hirveästi välejä yms. roskaa. Korjaapa ne kuntoon niin jaksaa lukeakin.
viewtopic43067.html ~~ Osta pelejä edullisesti ~~
Tietokone: Intel Pentium
d-hunter
 
Viestit: 1638

Viesti Magic Eye 04 Tammi 2007 15:28

d-hunter kirjoitti:Noissa koodipätkissä on hirveästi välejä yms. roskaa. Korjaapa ne kuntoon niin jaksaa lukeakin.




Olkaapa hyvä, eihän nyt arvon herralle roskaa tarjota:
Koodi: Valitse kaikki
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fi-FI" lang="fi-FI"><head><title>Yksinkertainenvalikko</title><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1" /><style type="text/css">/*<![CDATA[*/ #navikaatio {border:1px solid #eee;width:250px;padding:2px;} #navikaatio h3{margin:0;padding-left:15px;border-bottom:1px solid #2b6b83;background:#428a9e none;color:#fff;font:14px/2em "Lucida Grande",verdana,arial,serif;} #navikaatio ul{list-style:none;margin:0;padding:0;} #navikaatio ul li{border-top:1px solid #709cb5;background:#4e8199 none;} #navikaatio  ul li a{display:block;padding-left:250px;font:10px/2.5em verdana,arial,tahoma,serif;text-decoration:none;color:#fff;} #navikaatio ul li a:hover{color:#9fffa5;} /*]]>*/</style></head><body><div id="navikaatio"><h3>Valikko</h3><ul><li><a href="#linkki-1">Linkki 1</a></li><li><a href="#linkki-2">Linkki 2</a></li><li><a href="#linkki-3">Linkki 3</a></li></ul></div></body></html>



Joten toivottavasti herra nyt on tyytyväinen ja hänen herkät silmänsä yllä olevan koodin kykenevät lukemaan.
Käyttäjän avatar
Magic Eye
 
Viestit: 481

Viesti PayRay 04 Tammi 2007 15:42

Ai Kounterstrike Sorsaa pitäis osata? Eeeeii..
PayRay
 
Viestit: 661

Viesti d-hunter 07 Tammi 2007 02:28

ME: Tarkoitan sitä, että koodisi on tämäntapaista
Koodi: Valitse kaikki
<html>



  <body>




   <div>



    Plop



   </div>



  </body>




</html>


Kun se voisi olla tämäntapaista

Koodi: Valitse kaikki
<html>
<body>
  <div>
   Plop
  </div>
</body>
</head>
viewtopic43067.html ~~ Osta pelejä edullisesti ~~
Tietokone: Intel Pentium
d-hunter
 
Viestit: 1638

Viesti Matso- 07 Tammi 2007 15:15

Ku oot tänne taas eksyny, ni kirjotas toi ajax oppaas loppuun: http://jaaari.no-ip.com/foorumi/viewtopic24292.html

Ei siitä oo mitään hyötyä tollasena.
Matso -> Matso-
tong-simppel -> Matso
Käyttäjän avatar
Matso-
 
Viestit: 294

Viesti Magic Eye 11 Tammi 2007 10:28

Matso kirjoitti:Ku oot tänne taas eksyny, ni kirjotas toi ajax oppaas loppuun: http://jaaari.no-ip.com/foorumi/viewtopic24292.html

Ei siitä oo mitään hyötyä tollasena.


Tein oppaasta kokonaan uuden version osoitteeseen http://www.taikasilma.com. http://jaaari.no-ip.com/foorumi/viewtop ... 608#259608
Käyttäjän avatar
Magic Eye
 
Viestit: 481

Viesti Jere1 04 Huhti 2007 19:02

PayRay kirjoitti:Ai Kounterstrike Sorsaa pitäis osata? Eeeeii..

Tämä ei todellakaan tarkoita Counter Strike: Sourcea!
CSS on ohjelmointikieli.
Käyttäjän avatar
Jere1
 
Viestit: 382

Viesti Matso 05 Huhti 2007 03:32

Jere1 kirjoitti:CSS on ohjelmointikieli.
No ei kyllä ole.
Käyttäjän avatar
Matso
 
Viestit: 4390

Viesti Freelanceri 31 Heinä 2007 13:37

Matso kirjoitti:
Jere1 kirjoitti:CSS on ohjelmointikieli.
No ei kyllä ole.


[Offtopic]
CSS = Cascading Style Sheet
CS:S = Counter Strike: Source
[/Offtopic]

Ja ihan kelpo opas oli IMO.
[piilotettu kuva]
- Autopelien ystäville

rFactor Legends Cars -modi

Parhaat Webhotellipalvelut: Edullinenwebhotelli.com
Käyttäjän avatar
Freelanceri
 
Viestit: 714

Palaa alueelle Ohjelmointioppaat