U bevindt zich hier: Forum » Tutorials » Afgeronde hoeken aan vlakken geven
   Actief Topic: Afgeronde hoeken aan vlakken geven

Vorige ( 1 ) Volgende

Erwin
Moderator
avatar
# Gepost op 05-08-2009 01:04
Bewerkt door Erwin op 30-08-2009 22:02


De opties
Er zijn een aantal opties bij ronde hoeken toepassen op een vlak. Je kan kiezen voor een vlak met een solide kleur, of een vlak met meerdere kleuren. Als je een vlak met meerdere kleuren ronde hoeken wilt geven, loop je al snel tegen het probleem aan, dat je niet weet welke kleur je de hoeken moet geven. Je kan dat oplossen door juist de buitenkant van de afronding af te dekken. Je moet dan helaas wel een vaste achtergrond hebben.
Een eenkleurig vlak
Allereerst maken we twee nieuwe documenten, een html en een CSS document. Open je favoriete html/css verwerker en plaats alvast de standaard code (doctype, head, body etc.). De html en css documenten hebben we nu alvast klaar. Nu openen we een grafish programma (Photoshop, The Gimp, MSpaint …). Maak een nieuw bestand aan, en stel een werkveld in. Je werkveld hangt af van de grote van de afrondingen. Als je afrondingen wilt van 10 pixels hoog en 10 pixels breed, dan krijg je een werkgebied van 20 x 20. Omdat je twee keer de breedte van de hoeken hebt, en twee keer de hoogte. Dus als de afronding in de breedte 20 pixels is, maak je het werkveld 40 pixels breed, het dubbele van wat je afrondings-breedte is.


Teken nu een cirkel in de kleur die je afgeronde hoeken moeten krijgen. Zorg dat de cirkel alle zijden van je werkvlak net raakt. Stel nu ook een achtergrond kleur in, als je achtergrond niet vast staat, moet je transparantie gebruiken. Sla de afbeelding op als afronding met de juiste extensie (jpg/png/gif).image
Pak je favoriete html/css verwerker er weer bij, en neem het html document dat we eerder al hadden gemaakt voor je.
We beginnen met het stylesheet wat je hebt gemaakt toe te voegen aan het document.
Plain | Plain new window | HTML code:
  1. <link rel="stylesheet" type="text/css" href="/css/style.css">


Nu gaan we beginnen de div’s te plaatsen. Zet je cursor in de <body> sectie. Allereerst maken we de div die de afronding krijgt, maak deze en sluit hem af. Geef deze div de id “content” plaats je cursor in de div. Omdat een vierkant vier hoeken heeft, hebben we vier afrondingen nodig. Plaats dus 4 divs met op de volgende manier:


Plain | Plain new window | HTML code:
  1. <div id="content">
  2.         <div class="lb">&nbsp;</div>
  3.         <div class="rb">&nbsp;</div>
  4.  
  5.         Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla fermentum lorem sed elit rhoncus convallis. Cras sed dolor nisi. Curabitur nisl diam, tempor a rhoncus sit amet, sagittis et nisl. Duis imperdiet neque justo, at commodo neque. Morbi malesuada, orci vel elementum facilisis, lorem lorem pulvinar turpis, at porta arcu eros eget turpis. Suspendisse commodo ante nec tellus dictum at ultricies dui scelerisque. Integer cursus ipsum eget est venenatis at luctus nisi pulvinar. Sed tristique lacinia orci, non euismod eros tincidunt nec. Nulla facilisi. Sed at sem ante, ut malesuada velit. Sed dolor purus, tristique id venenatis eget, vestibulum pretium sapien. Praesent a tellus erat, a dictum dui. Ut a turpis et ligula aliquam pretium. Integer rutrum viverra dolor, vel sollicitudin risus condimentum a. Praesent quis ipsum at ante pulvinar dignissim. Aliquam consequat volutpat ante quis gravida. Sed velit metus, mollis eu venenatis sed, semper vel tortor. Phasellus eget mi luctus massa interdum condimentum. Fusce molestie cursus nunc in porttitor. Donec ante lectus, aliquam sit amet consectetur et, ullamcorper commodo arcu.
  6.  
  7.         <div class="lo">&nbsp;</div>
  8.         <div class="ro">&nbsp;</div>
  9. </div>

De spaties zijn om de line-height te laten werken. Dit is om een fout in IE6 tegen te gaan.
Open nu je style.css, plaats alvast het volgende stukje code:
Plain | Plain new window | CSS code:
  1. * {
  2. margin: 0px;
  3. padding: 0px;
  4. }


Nu gaan we verder met het plaatsen van de rest van de code.
Plain | Plain new window | CSS code:
  1.  
  2. #content {
  3. width: 700px;
  4. margin: 0 auto;
  5. background-color: #909291;
  6. position: relative;
  7. padding: 20px;
  8. }
  9. /* HOEK AFRONDINGEN */
  10. .lb {
  11.     background-position: left top;
  12.     top: 0px;
  13.     left: 0px;
  14. }
  15. .rb {
  16.     background-position: right top;
  17.     top: 0px;
  18.     right: 0px;
  19. }
  20. .lo {
  21.     background-position: left bottom;
  22.     bottom: 0px;
  23.     left: 0px;
  24. }
  25. .ro {
  26.     background-position: right bottom;
  27.     bottom: 0px;
  28.     right: 0px;
  29. }
  30. .lb, .lo, .rb, .ro {
  31.     background-image: url('rondjevb.jpg');
  32.     background-repeat: no-repeat;
  33.     position: absolute;
  34.     line-height: 10px;
  35.     width: 10px;
  36. }

De line-height is om te voorkomen dat IE6 in de fout gaat.
Een meer kleurig vlak
Een vlak met meerdere kleuren en ronde hoeken is eigenlijk niet veel anders. Naast het plaatje verschilt er eigenlijk niets. Omdat we nu niet de binnenkant van het de hoeken moeten hebben, maken we nu een afbeelding van de buitenkant. De binnenkant laten we dan transparant, dus we hebben .png of .gif nodig. Rechts zie je een voorbeeld van wat we dan krijgen.image
LET OP dit is een jpg, slecht om te laten zien hoe de afbeelding eruit ziet.

DNA is een zeiksnor

vlerknozem
Admin
avatar
# Gepost op 30-08-2009 17:25


Hmm wellicht dat ik iets fout doe, maar ik heb getest met het eerste plaatje en het werkt dus niet. Krijg dus helemaal niks te zien. Als ik de 'line-height' vervang door 'height' dan zie ik maar twee hoeken (links boven en links onder) en ze staan naast elkaar. Daar weer naast staat de tekst die ik erin plaats.

Ik test in Shiretoko (FF3.5), maar doe ik iets fout of??? :P

Lees de forum regels

Erwin
Moderator
avatar
# Gepost op 30-08-2009 21:20
Bewerkt door Erwin op 30-08-2009 21:46


Dat zal wel niet, ga het even testen!

Waarschijnlijk heb ik perongeluk (omdat ik het niet nog getest had) een expirimentele css gepakt. Eigenlijk ook vrij lomp dat ik het niet meteen zag omdat dit natuurlijk veel te weinig css is. De tutorial pas ik nu meteen aan!

DNA is een zeiksnor

vlerknozem
Admin
avatar
# Gepost op 30-08-2009 23:02


Beter :)

Trouwens ik heb even geexperimenteerd, en jou code werkt nu prima met mijn gd hoeken.

image Makkelijke is dat je enkele dingen kan instellen.

Zie ook: http://voorbeelden.sckripts.nl/voorbeeld/Div-met-ronde-hoeken/

Lees de forum regels

TijmenD
member
avatar
# Gepost op 31-08-2009 00:55


Ben het niet helemaal eens met deze tut.
Waarom spaties gebruiken in de div classes? Je moet gewoon een height instellen in de css en dan zou hij moeten werken.

Daarnaast werkt de link van vlerk goed maar in het codeblok worden images vertoond als je op update klikt. Ik dnek ik zeg het even ;)

Hihi.

vlerknozem
Admin
avatar
# Gepost op 31-08-2009 01:06


Citaat van TijmenD
maar in het codeblok worden images vertoond

Die met die groene pijl? Dat is gewoon omdat de lijn wordt afgebroken. Is iets van die highlighter (had geen zin om daarvoor ook geshi te moeten fixen, kan ik later misschien nog doen).

Lees de forum regels

Erwin
Moderator
avatar
# Gepost op 31-08-2009 01:09


Citaat van TijmenD
Ben het niet helemaal eens met deze tut.
Waarom spaties gebruiken in de div classes? Je moet gewoon een height instellen in de css en dan zou hij moeten werken.

Controleer maar in IETester ;)

DNA is een zeiksnor

Vorige ( 1 ) Volgende

U moet aangemeld zijn om een reactie te kunnen plaatsen.

Indien u nog geen account heeft kunt u zich hier registreren.



© copyright 2009/2010 WebProjects 1.02 - Template van Sebastaan Franken