CSS: Liquid Rounded Corners
Hoe je ronde hoeken en schaduwen implementeert in CSS, waarbij de breedte, hoogte en/of lettergrootte niet uitmaken.
Gesponsorde koppelingen
Inhoudsopgave
60 reacties op 'CSS: Liquid Rounded Corners'
Gesponsorde koppelingen
Wel leuk, maar ik vind het toch nooit fijn om plaatjes op deze manier als achtergrond te gebruiken.
@ Henk: daar hebben we het al over gehad en ik noem het ook op in mijn tut. Dat je het hier weer ter sprake brengt wordt een beetje flauw.
Voor de rest: je moet niet denken aan een site van 4000 pixels breed waar je deze truc op kunt gebruiken. Denk eerder aan een aantal boxen met ronde hoeken binnen je pagina. En mocht je om de een of andere reden wel iets heel breeds willen maken, maak dan gewoon je GIF breder/hoger.
Voor de rest: je moet niet denken aan een site van 4000 pixels breed waar je deze truc op kunt gebruiken. Denk eerder aan een aantal boxen met ronde hoeken binnen je pagina. En mocht je om de een of andere reden wel iets heel breeds willen maken, maak dan gewoon je GIF breder/hoger.
heb intussen de oplossing gevonden :)
een divje met een width van 100% in de inhoud zetten en het is opgelost
CSS:
HTML
een divje met een width van 100% in de inhoud zetten en het is opgelost
CSS:
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<style type="text/css">
div#container{ width: 150px;}
div#inhoud { width: 100%; }
div.rounded-corners { background: url(images/rounded.gif) right bottom no-repeat; }
div.rounded-header { background: url(images/rounded.gif) right top no-repeat; }
div.rounded-content { background: url(images/rounded.gif) left bottom no-repeat; padding: 10px 0 20px 10px; margin: 0 20px 0 0; }
div.rounded-header h2 { color: #fff; margin: 0 20px 0 0; padding: 10px 0 10px 10px; background: url(images/rounded.gif) left top no-repeat; }
img.floated { float: left; margin-right: 10px; }
</style>
div#container{ width: 150px;}
div#inhoud { width: 100%; }
div.rounded-corners { background: url(images/rounded.gif) right bottom no-repeat; }
div.rounded-header { background: url(images/rounded.gif) right top no-repeat; }
div.rounded-content { background: url(images/rounded.gif) left bottom no-repeat; padding: 10px 0 20px 10px; margin: 0 20px 0 0; }
div.rounded-header h2 { color: #fff; margin: 0 20px 0 0; padding: 10px 0 10px 10px; background: url(images/rounded.gif) left top no-repeat; }
img.floated { float: left; margin-right: 10px; }
</style>
HTML
Erg goede tutorial. Dit is precies waar ik naar op zoek was.
Ik heb echter een iets complexer probleem, en ik ben wel benieuwd hoe jullie dit zouden oplossen.
Voor een box met 1 achtergrondkleur tegen een achtergrond van een plaatje, kun je voor de hoekjes plaatjes gebruiken met een transparante achtergrond, waardoor de achtergrondkleur zichtbaar wordt.
Voor een box met een achtergrondplaatje tegen een achtergrond van 1 kleur kun je voor de hoekjes plaatjes gebruiken waar de binnenkant transparant gelaten wordt, zodat het plaatje zichtbaar wordt.
Maar wat moet ik doen als ik als achtergrond een plaatje heb, en ik wil een box tekenen die ook een plaatje als achtergrond heeft?
Tot overmaat van ramp heeft de box ook nog eens geen vaste afmetingen, en een variabel plaatje.
Iemand een idee hoe ik dit op moet lossen?
Barst maar los :-)
Ik heb echter een iets complexer probleem, en ik ben wel benieuwd hoe jullie dit zouden oplossen.
Voor een box met 1 achtergrondkleur tegen een achtergrond van een plaatje, kun je voor de hoekjes plaatjes gebruiken met een transparante achtergrond, waardoor de achtergrondkleur zichtbaar wordt.
Voor een box met een achtergrondplaatje tegen een achtergrond van 1 kleur kun je voor de hoekjes plaatjes gebruiken waar de binnenkant transparant gelaten wordt, zodat het plaatje zichtbaar wordt.
Maar wat moet ik doen als ik als achtergrond een plaatje heb, en ik wil een box tekenen die ook een plaatje als achtergrond heeft?
Tot overmaat van ramp heeft de box ook nog eens geen vaste afmetingen, en een variabel plaatje.
Iemand een idee hoe ik dit op moet lossen?
Barst maar los :-)
euh, hoe kan ik hier een plaatje linken? :$
ik probeer het even met tekst te 'tekenen', sorry voor mijn onwetendheid.

het probleem is dat div 2 zowel aan de binnenkant als aan de buitenkant een plaatje heeft, waardoor dus beide kanten transparantie zouden moeten hebben.
ik gebruik nu een grote jpeg als achtergrondplaatje, waar alle 'divjes' op getekend zijn.
Ik wil eigenlijk div2 kunnen resizen en verplaatsen, en div 2 een variabele achtergrond geven.
ik kan natuurlijk in php het plaatje eerst afronden en transparant maken, maar liever wil ik dat vermijden.
groeten,
Martien
ik probeer het even met tekst te 'tekenen', sorry voor mijn onwetendheid.

het probleem is dat div 2 zowel aan de binnenkant als aan de buitenkant een plaatje heeft, waardoor dus beide kanten transparantie zouden moeten hebben.
ik gebruik nu een grote jpeg als achtergrondplaatje, waar alle 'divjes' op getekend zijn.
Ik wil eigenlijk div2 kunnen resizen en verplaatsen, en div 2 een variabele achtergrond geven.
ik kan natuurlijk in php het plaatje eerst afronden en transparant maken, maar liever wil ik dat vermijden.
groeten,
Martien
Geweldig.
Toch nog een vraagje...ik weet alleen niet of het mogelijk is:
Ik wil in de header een afbeelding toevoegen. Maar het mooiste zou zijn als hij gedeeltelijk boven de header zou uitkomen..
[logo]
.....................
[logo]
header
......................
Ik hoop dat het duidelijk is.
Alvast bedankt!
Toch nog een vraagje...ik weet alleen niet of het mogelijk is:
Ik wil in de header een afbeelding toevoegen. Maar het mooiste zou zijn als hij gedeeltelijk boven de header zou uitkomen..
[logo]
.....................
[logo]
header
......................
Ik hoop dat het duidelijk is.
Alvast bedankt!
Je zou dan met position moeten werken.
Als je je plaatje in een div zet kan je deze laten zien op de pagina waar je maar wilt.
linkje: http://www.w3schools.com/css/pr_class_position.asp
Als je je plaatje in een div zet kan je deze laten zien op de pagina waar je maar wilt.
linkje: http://www.w3schools.com/css/pr_class_position.asp
Ok ik ben er mee bezig...tekst is geen probleem, alleen met een plaatje wil het niet lukken.
Ik heb in de head de volgende code:
h1.pos_abs
{
position:absolute;
left:100px;
top:-5px;
}
In mn body heb ik dan vervolgens staan:
<body background="achtergrond.gif">
<div id="container">
<div class="rounded-corners">
<div class="rounded-header">
<h2>Headertekst</h2>
<h1 class="pos_abs"><img src="/joomla/logo.gif"/></h1>
</div>
Ik heb in de head de volgende code:
h1.pos_abs
{
position:absolute;
left:100px;
top:-5px;
}
In mn body heb ik dan vervolgens staan:
<body background="achtergrond.gif">
<div id="container">
<div class="rounded-corners">
<div class="rounded-header">
<h2>Headertekst</h2>
<h1 class="pos_abs"><img src="/joomla/logo.gif"/></h1>
</div>
Jaja... :) haha dit gaat iets boven mn CSS newbie pet
Mn code tot zover is:
<style type="text/css" media="screen">
div.rounded-corners { background: url(rounded2.gif) right bottom no-repeat; }
div.rounded-header { background: url(rounded2.gif) right top no-repeat; }
div.rounded-content { overflow: hidden; width: 90%; background: url(rounded2.gif) left bottom no-repeat; padding: 10px 0 20px 10px; }
div.rounded-header h2 { color: #fff; margin: 0 20px 0 0; padding: 10px 0 10px 10px; background: url(rounded2.gif) left top no-repeat; }
img.floated { float: left; margin-right: 10px; }
</style>
</head>
<body background="achtergrond.gif">
<div id="container">
<div class="rounded-corners">
<div class="rounded-header">
<h2>Headertekst</h2>
</div>
<div class="rounded-content">
<div class="rounded-content-wrapper">
<p>
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vestibulum imperdiet lobortis ligula.
Integer sed neque. Vivamus ullamcorper turpis sit amet felis. Ut viverra ligula at lorem scelerisque dapibus.
Sed nec est at odio pretium lacinia. Donec pulvinar nibh non erat. Donec quis lacus vitae mi molestie fringilla.
Vestibulum eu quam at neque bibendum commodo. Vestibulum quis massa. Morbi quam. In ligula. Curabitur eget lorem. </p>
</div>
</div>
</div>
</div>
</body>
Waar moet ik dan precies wat invullen?
Alvast super bedankt!
Mn code tot zover is:
<style type="text/css" media="screen">
div.rounded-corners { background: url(rounded2.gif) right bottom no-repeat; }
div.rounded-header { background: url(rounded2.gif) right top no-repeat; }
div.rounded-content { overflow: hidden; width: 90%; background: url(rounded2.gif) left bottom no-repeat; padding: 10px 0 20px 10px; }
div.rounded-header h2 { color: #fff; margin: 0 20px 0 0; padding: 10px 0 10px 10px; background: url(rounded2.gif) left top no-repeat; }
img.floated { float: left; margin-right: 10px; }
</style>
</head>
<body background="achtergrond.gif">
<div id="container">
<div class="rounded-corners">
<div class="rounded-header">
<h2>Headertekst</h2>
</div>
<div class="rounded-content">
<div class="rounded-content-wrapper">
<p>
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vestibulum imperdiet lobortis ligula.
Integer sed neque. Vivamus ullamcorper turpis sit amet felis. Ut viverra ligula at lorem scelerisque dapibus.
Sed nec est at odio pretium lacinia. Donec pulvinar nibh non erat. Donec quis lacus vitae mi molestie fringilla.
Vestibulum eu quam at neque bibendum commodo. Vestibulum quis massa. Morbi quam. In ligula. Curabitur eget lorem. </p>
</div>
</div>
</div>
</div>
</body>
Waar moet ik dan precies wat invullen?
Alvast super bedankt!
dit kan nog makkelijker!
Kijk maar eens naar http://www.html.it/articoli/niftycube/index.html
of naar http://www.openrico.org/.
Beide toolkits die het voor je doen.. zonder dat je iets zelf hoeft te maken !
Kijk maar eens naar http://www.html.it/articoli/niftycube/index.html
of naar http://www.openrico.org/.
Beide toolkits die het voor je doen.. zonder dat je iets zelf hoeft te maken !
Hey Jan, top tutorial, ziet er goed uit en was precies wat ik zocht. Ik krijg het alleen niet aan de praat! Ik probeer hetzelfde te doen als jij, maar dan met een .png plaatje zodat ie wat transparantie krijgt in de schaduwen. Alleen op de een of andere manier kopieerd hij de PNG er nog een keer onder of iets dergelijks. Het ziet er heel vaag uit. Bekijk maar en check mijn bron.
http://snuur.nl/roundedtest/
overigens als ik mijn image vervang voor de jouwe ziet het er wel goed uit, maar dan is hij alsnog wel nog een x eronder gekopieerd volgens mij.
Mijn box is overigens niet zo breed omdat ik niet breder nodig heb.
http://snuur.nl/roundedtest/
overigens als ik mijn image vervang voor de jouwe ziet het er wel goed uit, maar dan is hij alsnog wel nog een x eronder gekopieerd volgens mij.
Mijn box is overigens niet zo breed omdat ik niet breder nodig heb.
dan ziet het er zo uit:
http://snuur.nl/roundedtest/
alsnog is er iets dubbel ofzo, de randen worden niet mooi iig.
http://snuur.nl/roundedtest/
alsnog is er iets dubbel ofzo, de randen worden niet mooi iig.
Nou toch nog maar even een bericht zeg. Ik heb dan toch gekozen voor geen transparante achtergrond aangezien deze contentbox enkel op een egale achtergrond hoeft te staan waarschijnlijk. Maar ben nu bezig met mijn nieuwe site. Had al op een andere manier contentboxen gemaakt, maar vond jouw manier toch wel erg mooi. Op het testje dat ik had gemaakt werkt het prima:
http://snuur.nl/roundedtest
maar nu he ik het geprobeerd bij mn nieuwe site erin te gooien, en ik heb het geloof ik letterlijk overgenomen, maar het linkerbovenhoekje blijft wegvallen. Geen flauw idee waar het door komt. Hopelijk kan iemand hier er achter komen. Zit er al een uur mee te klooien nl :-p
http://snuur.nl/newsitewrong
Heb de CSS even rechtstreeks in mn index gezet, zodat je m kunt zien bij bron.
Ik heb er ook al sIFR inzitten maar ide heb ik even uitgezet om te zien of dat niet het probleem was.
http://snuur.nl/roundedtest
maar nu he ik het geprobeerd bij mn nieuwe site erin te gooien, en ik heb het geloof ik letterlijk overgenomen, maar het linkerbovenhoekje blijft wegvallen. Geen flauw idee waar het door komt. Hopelijk kan iemand hier er achter komen. Zit er al een uur mee te klooien nl :-p
http://snuur.nl/newsitewrong
Heb de CSS even rechtstreeks in mn index gezet, zodat je m kunt zien bij bron.
Ik heb er ook al sIFR inzitten maar ide heb ik even uitgezet om te zien of dat niet het probleem was.
als het goed is wel, ik heb m nu nog breder gemaakt en nu ziet het er als volgt uit:
http://snuur.nl/newsitewrong
http://snuur.nl/newsitewrong
De doctype is dan ook niet goed, je sluit de regel niet af.
Zonder geldige validatie, moet je niet gek staan kijken dat het fout is. Wil niet zeggen dat correcte html tot de juiste presentatie leidt, maar de kans wordt wat groter.
Zonder geldige validatie, moet je niet gek staan kijken dat het fout is. Wil niet zeggen dat correcte html tot de juiste presentatie leidt, maar de kans wordt wat groter.
Leuke tut, alleen jammer dat het zo moet ben er zelf niet echt een fan van. Ik wacht nog steeds met smart op deze functie: http://www.css3.info/preview/rounded-border/
Ik weet dat die tutorial al wat ouder is maar het is een blijvertje want css zal er altijd zijn.
Wat doe ik verkeerd?
ik heb een header.php die er als volgd uitziet:
En die werkt in mijn andere pagina's normaal, maar als ik de style van jou rounded corner er in de stylesheet zet dan werkt het niet,behalve als ik in de link naar de style de includes/ weghaal krijg ik wel deze rounded corner goed, maar krijg ik geen:
background: url('../images/background.png');
background-attachment: fixed;
background-repeat: repeat;
waar ligt dat aan?
ik weet niet of dat een verschijnsel van IE8! maar dat lijkt me sterk want de rest werkt wel met die achtergrond.
PS.
dit gebeurt alleen als ik
doe, maar als ik die header gewoon boven in het script zet werkt het wel.
Alleen de ronde hoek links onder van het content komt niet helemaal links maar blijf ongeveer 5 px er vanaf en nu is het net of er een hoekje uit geklipt is.
Wat doe ik verkeerd?
ik heb een header.php die er als volgd uitziet:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
<html lang='nl' xmlns='http://www.w3.org/1999/xhtml'>
<head>
<title>centreren van elementen</title>
<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1' />
<meta name=\'language' content='nl' />
<meta name=\'description' content='een site voor' />
<meta name=\'author' content='N.Kasius' />
<meta name=\'publisher' content='N. Kasius' />
<meta name=\'keywords' content='downloads, php, script, agenda, kalgenda, dvd archief, dvd collectie, fiets, darts' />
<meta name=\'robots' content='index, follow' />
<meta name=\'robots' content='all' />
<link href='includes/style.css' rel='stylesheet' type='text/css' media='screen' />
<html lang='nl' xmlns='http://www.w3.org/1999/xhtml'>
<head>
<title>centreren van elementen</title>
<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1' />
<meta name=\'language' content='nl' />
<meta name=\'description' content='een site voor' />
<meta name=\'author' content='N.Kasius' />
<meta name=\'publisher' content='N. Kasius' />
<meta name=\'keywords' content='downloads, php, script, agenda, kalgenda, dvd archief, dvd collectie, fiets, darts' />
<meta name=\'robots' content='index, follow' />
<meta name=\'robots' content='all' />
<link href='includes/style.css' rel='stylesheet' type='text/css' media='screen' />
En die werkt in mijn andere pagina's normaal, maar als ik de style van jou rounded corner er in de stylesheet zet dan werkt het niet,behalve als ik in de link naar de style de includes/ weghaal krijg ik wel deze rounded corner goed, maar krijg ik geen:
background: url('../images/background.png');
background-attachment: fixed;
background-repeat: repeat;
waar ligt dat aan?
ik weet niet of dat een verschijnsel van IE8! maar dat lijkt me sterk want de rest werkt wel met die achtergrond.
PS.
dit gebeurt alleen als ik
doe, maar als ik die header gewoon boven in het script zet werkt het wel.
Alleen de ronde hoek links onder van het content komt niet helemaal links maar blijf ongeveer 5 px er vanaf en nu is het net of er een hoekje uit geklipt is.
Om te reageren heb je een account nodig en je moet ingelogd zijn.
- Details
Door:
Jan Koehoorn- 6 jaar geleden
- 3.724 x bekeken
- Labels
- Geen tags toegevoegd.
- PHP tutorials opties
- html, ajax, css, javascript
- Nieuwste PHP tutorials
- PHP tutorial toevoegen



PHP hulp
0 seconden vanaf nu