Plaatje toevoegen op een hoek

Status
Niet open voor verdere reacties.

the goose

Gebruiker
Lid geworden
15 feb 2007
Berichten
86
Hey allen,

ik heb momenteel het volgende: http://www.veralbo.be/test/vb1.jpg

ik zou hier graag zoiets van maken: http://www.veralbo.be/test/vb2.jpg. Er komt dus een plaatje links onderaan op de hoek.

Hoe kan ik dit doen?

style.css

Code:
body {
	margin: 0;
	padding: 0;
	background: #DEDEDE url(images/img01.jpg) repeat-x left top;
	font-family: Georgia, Arial, Helvetica, sans-serif;
	font-size: 13px;
	color: #19171c;
}

h1, h2, h3 {
	margin: 0;
	text-transform: uppercase;
	font-weight: normal;
	color: #19171c;
}

h1 { font-size: 44px; }

h2 { font-size: 18px; }

h3 { }

p, ul, ol {
	margin-top: 0;
	line-height: 240%;
	text-align: justify;
}

ul, ol { }

blockquote { }

a { color: #19171c; }

a:hover { text-decoration: none; }

a img {
	border: none;
}

img.left {
	float: left;
	margin: 7px 30px 0 0;
}

img.right {
	float: right;
	margin: 7px 0 0 30px;
}

hr { display: none; }

.list1 {
}

.list1 li {
	float: left;
	line-height: normal;
}

.list1 li img {
	margin: 0 30px 30px 0;
}

.list1 li.alt img {
	margin-right: 0;
}

#wrapper {
}

/* Header */

#header-wrapper {
}

#header {
	width: 900px;
	height: 50px;
	margin: 0 auto;
	background: url(images/img03.jpg) no-repeat left top;
}

/* Menu */

#menu {
	float: left;
	width: 900px;
	height: 50px;
}

#menu ul {
	margin: 0;
	padding: 0px 0px 0px 5px;
	list-style: none;
	line-height: normal;
}

#menu li {
	display: block;
	float: left;
	background: url(images/img04.gif) no-repeat left 20px;
}

#menu a {
	display: block;
	float: left;
	height: 20px;
	margin-right: 3px;
	padding: 15px 20px;
	text-decoration: none;
	text-transform: uppercase;
	font-size: 12px;
	color: #FFFFFF;
}

#menu a:hover { text-decoration: underline; }

#menu .current_page_item a {
	height: 20px;
	background: #19171c;
	color: #FFFFFF;
}

/* Page */

#page {
	width: 840px;
	margin: 0 auto;
	padding: 30px 30px 0px 30px;
	background: #FFFFFF;
	border-bottom: 5px #19171c solid;
}

	/** LOGO */

#logo {
	width: 850px;
	height: 300px;
	margin: 0 auto;
	padding-left: 50px;
	background: url(images/img02.jpg) no-repeat left top;
}

#logo h1, #logo p {
	margin: 0px;
	line-height: normal;
	font-weight: normal;
	color: #FFFFFF;
}

#logo p {
	padding-left: 70px;
	padding-top: 6px;
	text-transform: uppercase;
	font-size: 10px;
}

#logo h1 {
	padding: 163px 0px 0px 70px;
	font-size: 39px;
	font-family: Brush Script MT;
	Text-transform: none;
}

#logo a {
	text-decoration: none;
	color: #FFFFFF;
}

/* Content */

#content {
	float: left;
	width: 570px;
}

/* Post */

.post {
	margin-bottom: 25px;
}

.post .title {
	height: 30px;
	color: #42423E;
}

.post .date {
}

.post .meta {
	margin-top: -10px;
	padding: 2px 30px 2px 0px;
	border-bottom: 1px #BDBDBB dotted;
	font-family: Georgia, Arial, Helvetica, sans-serif;
	font-weight: normal;
	font-size: 10px;
	color: #19171c;
}

.post .meta span {
	display: block;
	margin-top: -10px;
}

.post .meta a { }

.post .entry {
	padding: 10px 0;
}

.post .links {
	margin: 0 250px 0 0;
	padding: 0 0 0 0px;
}

.post .links .comments {
}

.post .links .permalink {
	padding-left: 17px;
}

/* Sidebar */

#sidebar {
	float: right;
	width: 220px;
}

#sidebar ul {
	margin: 0;
	padding: 0;
	list-style: none;
	line-height: normal;
}

#sidebar li {
	margin-bottom: 30px;
	padding: 0 0 10px 0px;
}

#sidebar li ul {
}

#sidebar li li {
	margin: 0;
	padding-left: 15px;
	background: url(images/img05.jpg) no-repeat left 5px;
}

#sidebar p {
	margin: 0;
}

#sidebar h2 {
	height: 25px;
	margin: 0 0 10px 0px;
	padding: 8px 0 2px 0px;
	border-bottom: 1px #BDBDBB dotted;
	color: #42423E;
}


#sidebar p {
	line-height: 200%;
}


/* Footer */

#footer {
	width: 900px;
	margin: 0 auto;
	padding: 0;
	height: 50px;
	background: url(images/img04.gif) no-repeat left top;
}

#footer p {
	margin: 0;
	padding: 20px 0;
	text-align: center;
	line-height: normal;
	font-size: 10px;
	color: #19171c;
}

#footer a {
}

dressings.php
PHP:
<!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">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Pro Painting Team</title>
<meta name="keywords" content="" />
<meta name="description" content="" />
<link href="style.css" rel="stylesheet" type="text/css" media="screen" />
</head>
<body>
<div id="wrapper">
	<div id="logo">
		<?php include("header.php"); ?>
	</div>
	<!-- end #logo -->

	<div id="header">
		<div id="menu">
			<?php include("navigatie.php"); ?>
		</div>
		<!-- end #menu -->

	</div>
	<!-- end #header -->
	<!-- end #header-wrapper -->


<!-- CHANGE TITLE / META -->
	<div id="page">
		<div id="content">
			<div class="post">
				<h2 class="title">Dressings</h2>
				<p class="meta"></p>
				<div class="entry">
					<p>Selecteer rechts een project.</p>
				</div>
			</div>


		</div>
		<!-- end #content -->


<!-- UPDATE LINKS -->
		<div id="sidebar">
			<?php include("dressings_links.php"); ?>
		</div>
		<!-- end #sidebar -->
		<div style="clear: both;">&nbsp;</div>
	</div>
	<!-- end #page -->
	<div id="footer">
		<?php include("footer.php"); ?>
	</div>
	<!-- end #footer -->
</div>
</body>
</html>

Alvast bedankt!

Gr,
The goose
 
Werk met relative.
Dus:

Code:
 <div id="footer">
<div style="width:186 px; height: 181px; border:solid 2px #ff0000;float:left; position:relative; left:-50pxc; top:-100px;">
<img src="http://blogsimages.skynet.be/images_v2/000/000/000/20090211/dyn005_original_186_181_gif__dd2106eac9fae11c607c63edda03b9e9.gif"></div>
        <?php include("footer.php"); ?>
    </div>

een extra divje met plaatje toevoegen.

:cool:
 
Je kunt het ook al achtergrond invoegen en dan

Code:
background-position: 0% 100%l

gebruiken.
 
Kan! :)
Even de border-bottom uit de #page halen, en dan het clearende div'je uitbreiden tot:
Code:
[font=courier]<!-- end #content -->
<div style="clear: both; margin-left: 95px; border-bottom: 4px solid black;">&nbsp;</div>[/font]
Het klieren zorgt er dan voor dat deze <div> de volle breedte inneemt onder de floats erboven, en de linkermarge gebiedt dat ook de onder-border niet eerder dan op 95 px mag beginnen.

Succes!
CSShunter
 
Thx, links werkt het! Maar nu begint de lijn aan de rechterkant 'te laat'. Hoe is dit dan aan te passen?

index.php
PHP:
		<div style="clear: both; margin-left: 125px; padding-right: 30px; border-bottom: 4px #19171c solid;">&nbsp;</div>
	</div>
	<!-- end #page -->
	<div id="footer">
		<?php include("footer.php"); ?>
	</div>
	
	<div id="corner"></div>
	<!-- end #footer -->

style.css
Code:
#corner {
	width: 184px;
	height: 174px;
	border: 0px;
	background: url(images/hoek.png) no-repeat;
	float: left;
	margin-left: 126px;
	margin-top: -215px;
}

Alvast bedankt!
 
Hoi,

In je html staat bij de div waar die lijn aan de onderkant in staat:
HTML:
<div style="clear: both; margin-left: 65px; border-bottom: 4px #19171c solid;">&nbsp;</div>

Als je aan de style toevoegt
Code:
margin-right: -30px;
dan wordt de div naar rechts 30 px langer, en dus de lijn ook. Die lege ruimte ontstaat omdat de ouder-div van deze div 'n padding rechts heeft van 30px. Die 'neutraliseer' je op deze manier.
Ik heb 't niet heel grondig getest, maar 't werkt in Firefox en IE 8, dus ik neem aan in alle browsers.
 
Oeps! :o Danku, danku, Goeroeboeroe, die had ik niet gezien! Was met de CSS-editor van de Webdeveloper Toolbar in de weer, die ik in een linker zijbalk heb zitten ... en dan blijft op mijn resolutie de rechterkant buiten beeld. ;)

Maar ik zie dat op het moment (waarschijnlijk door het leeghalen van de wrapper) de #corner nu altijd op 150px vanaf de linkerkant van het venster staat. En dat gaat maar goed op 1 resolutie! (Verklein window, en schuif rechterzijkant heen en weer > de corner schuift ook heen en weer).

Het komt omdat de #corner als los element "koud" in de pagina gezet is, zonder relatie met de andere elementen. Je zou het kunnen oplossen door de #corner een eigen { margin: 0 auto; ) te geven, de float-left uit de #corner te halen, en de #corner een breedte te geven van 926px (d.w.z. de normale breedte van 900px plus twee keer het stukje dat de corner naar links moet schuiven t.o.v. het witte middenstuk).
Maar dan gaat bij smallere vensters dan die 926px de corner automatisch wèl gelijk met het witte deel beginnen (en een stukje van de tekst van de laatste regel afhappen), omdat er geen speling meer is! Dus moet ook nog gesleuteld worden aan de breedte van de andere elementen (en hun margins/paddings).

Handiger en mooier lijkt het me om de #content voorafgaand aan de clearing <div> binnen de #page te zetten, en dan zelf de clear te geven. De oude clearing <div> kan dan omgebouwd worden tot een gewone div, alleen voor de zwarte border-rand.
Dan kan de css worden:
Code:
.post {
/*	margin-bottom:  25px; */
	margin-bottom: -45px;
}

#corner {
	clear: both;
	width: 110px;
	height: 104px;
	border: 0;
	background: url(images/hoek.png) no-repeat;
/*	float: left; */
	float: none;
/*	margin-left: 150px; */
	margin-left: -50px;
/*	margin-top: -150px; */
	margin-top: 0;
	margin-bottom: -10px;
	}

#pagebottomborder { /* nieuwe naam van de oude clearing div */
	margin-left: 57px; 
	margin-right: -30px; 
	border-bottom: 4px #19171c solid;
	}
en de
HTML:
</div>
<!-- end #content -->
		
		<div id="corner"><!-- ! --></div>
		<div id="pagebottomborder"><!-- ! --></div>
	</div>
	<!-- end #page -->
De uitroepteken-commentaartjes staan erin om de div geen "lege div" te laten zijn (daar kunnen oudere IE's niet goed tegen, die gaan dan regelhoogte geven o.i.d.).
  • Hiermee krijgen we deze testpagina. (zo lang er niet iets anders in je style.css komt te staan, want die is aangehaakt) :)
Gegroet!
CSShunter
 
Laatst bewerkt:
Hey,

bedankt voor jullie antwoorden!

het is me alleen nog niet gelukt om het plaatje volledig naar onder te verschuiven zodat er hieronder geen witte regel meer zichtbaar is. Zien jullie links onderaan ook een wit klein driehoekje hangen? Hoe krijg ik dat weg?

Vriendelijke groeten,
The goose
 
Jij hebt bij #corner in je css staan: margin-top: -105px;
Als je dat verandert in margin-bottom: -4px; staat de afbeelding precies gelijk met de onderkant.
Ik heb even op die testpagina van csshunter gekeken, en daar staat margin-bottom op -10px, dus ik denk dat dit de goede oplossing is. (Bij csshunter staat hij dus iets lager). Bij csshunter staat ook nog bij #corner: margin-top: 0; maar ik denk dat dat niet nodig is.

Wat goed werkt bij dit soort problemen is als je even aan (in dit geval) #corner een rode border van 1 px geeft. Rood, dat valt lekker op. En dan zie je wat er gebeurt als je gaat stoeien met marges, padding, enz.
Grappig plaatje trouwens, staat leuk daar.
 
Op 't moment staat de .post nog op {margin-bottom: 25px;}, dat kan -45px worden.
Dan kan de {margin-top: -105px;} van de #corner geschrapt worden, en de {margin-bottom: -10px;} er voor in de plaats komen.
En dan zou die goed moeten staan.
Bij csshunter staat ook nog bij #corner: margin-top: 0; maar ik denk dat dat niet nodig is.
Klopt, die hoeft niet, maar was even nodig om de margin-top van -150px uit het aangehaakte originele stylesheet uit te gummen. ;)
Zien jullie links onderaan ook een wit klein driehoekje hangen? Hoe krijg ik dat weg?
Ja, die zie ik! Hoe weg krijgen? Er niet in zetten! :D
Kijk, daar is nu de Webdev.Toolbar zo geschikt voor:

goose-driehoekje.png

Je hebt een keurig wit driehoekje van 3x5 pixeltjes als img04.gif linksboven (no-repeat) in de footer gezet. ;)

Met vriendelijke groet,
CSShunter

[edit]footer = footer-background[/edit]
 
Laatst bewerkt:
Haha, ik heb die vraag over 't driehoekje gemist. Ik had 't wel gezien en vond 't wat eigenaardig, maar goed, als iemand dat wil...
 
Thx :) Aangezien de corner div nu ook in de page div staat, zal er altijd een wit randje onder de corner zijn zeker? Het kan dus niet dat het plaatje voor een deel op de witte page staat en voor een klein deel op de grijze achtergrond, zodat de bottom-border mooi in het midden van het rechtse stukje van het plaatje '<' komt? Want als ik dit doe, komt er automatisch een witte rand van page onder de bottom border. De corner div uit de page div halen is een oplossing, maar dan zit ik weer met het probleem van de resoluties zoals eerder gezegd is...
 
Aangezien de corner div nu ook in de page div staat, zal er altijd een wit randje onder de corner zijn zeker?
Nee hoor!
Zoals gezegd, nog even de de margin-bottom van de #corner veranderen van -4px tot -10px. Dan zakt ie mooi iets onder de page.
Vervolgens nog even de #pagebottomborder een margin-left van 57px geven (i.p.v. 60px).
Dan hapt de figuur precies in het midden van z'n bekje in de border, ook bij andere resoluties/window-instellingen. :)
Met vriendelijke groet,
CSShunter
 
Hoi The Goose,
Het verschil dat ik zie, is de afstand tussen het "happertje" (het < rechts) van de figuur en het border-bottom lijntje. Bij jou zit er een gaatje tussen, bij mij niet (ik dacht dat het de bedoeling was ze aan elkaar te lijmen).
Maar dat is gewoon te regelen met de { margin-left: ..px } van het lijntje #pagebottomborder. :)
Als je daarvan maakt:
Code:
[font=courier]#pagebottomborder {
   margin-left: 65px;
}[/font]
dan krijg je deze:

goose-hoek.gif

en de bijbehorende testpagina is:
Opgelost?

Groetjes,
CSShunter
 
Hey,

wat ik dan te zien krijg is:

probleem.gif

- 1ste plaatje is hoe het zou moeten zijn
- 2de plaatje is hoe is bij mij is (IE 7)
- 3de plaatje duidt de witte band aan van de page onder de bottom-border (zou er dus niet mogen staan)

Sorry voor de continue vragen, maar ik geraak er zelf niet uit :o

Thx,
The goose
 
Hoi The Goose,
No problem, we gaan net zolang door tot we die vlerk van een IE op z'n knieen gekregen hebben! :)

Tot dusverre ben ik in mijn testpagina's dat witte stukje background onder de bottomline nog niet tegengekomen in IE7 (onder WinXP)...
Ik had gewoon alles werkend in alle browsers (Goeroeboeroe was mijn getuige!).
Daar snap ik nu weer eens 0,0 van!
Nog eens kijken. - Eyii! Nu zie ik het wel! :shocked:
Aha, nu herinner ik het me weer:
  • Tussen 3 en 7 okt. is er iets met de html van de home-page gebeurd: de wrapper <div id="content">, nogal essentieel voor de pagina-structuur, had je uit de html gesloopt. Dat heb ik toen ook maar gedaan. En omdat daarmee ook de css niet meer was wat het was (de C van Cascade had z'n werk gedaan), heb ik ook de css aangepast. - En kennelijk had ik de css niet nog eens extra getest in IE7... die moet je ook altijd in de gaten houden! :o
Afijn, waarmee weer eens gezegd wil worden dat css en html twee communicerende vaten zijn: altijd als je in het ene iets doet of weghaalt, heeft dat gevolgen voor de andere! :)

Maar in de andere pagina's zie ik die <div id="content"> nog steeds staan, waarschijnlijk om ernaast de <div id="sidebar"> te kunnen plaatsen. Wat ik niet kan zien, is verder of de class="post" nog een speciale bedoeling heeft.
  • Als niet, dan zouden #content en .post gewoon kunnen samenvallen in #content > en kan wat op de testpagina .post heet, hernoemd worden tot #content!
  • Als wel, dan moet #content alsnog terug in de home-page, want dan is het een wrapper voor de verschillende .post 's die eronder staan gecascadeerd, en kan dan niet gemist worden in de pagina-structuur. Met overheveling van een aantal css-eigenschappen van de .post hoogstwaarschijnlijk.
Eh, herstel > alles kan, maar dan moet je wel een verschillend stylesheet aan de homepage en aan de rest hangen. ;)

Dus de vraag wordt: van welke pagina-structuur moeten we voor het vervolg uitgaan? Die van de test-homepage, of die van de rest? Ik zou zeggen: die van de rest, want die is meer-omvattend. Maar zegt u het maar!

Met vr. groet,
CSShunter
 
Hey,

Haha, ik geloof je wel dat je alles werkende had! :p


Maar in de andere pagina's zie ik die <div id="content"> nog steeds staan, waarschijnlijk om ernaast de <div id="sidebar"> te kunnen plaatsen.

Ik ben inderdaad alleen maar de homepage aan het aanpassen, de rest volgt later wanneer die hoek op z'n plaats staat. <div id="content"> had ik verwijderd omdat ik zoals je zegt de sidebar op de homepage niet nodig had (maar bv. bij Dressings wel). De reden waarom ik dit gedaan heb is omdat ik de volledige breedte van de page wou gebruiken voor tekst. Blijkbaar heb ik me het hier wat te simpel gemaakt :o Bij contact had ik dit ook wel al verwijderd.


Wat ik niet kan zien, is verder of de class="post" nog een speciale bedoeling heeft.

Er worden geen posts meer bijgevoegd. Slechts 1 tekst, degene die er nu opstaat, wordt behouden. Dus ik veronderstel dat inderdaad #content en .post mogen samenvallen?


Ik zou zeggen: die van de rest, want die is meer-omvattend. Maar zegt u het maar!

Dat is goed! :D


Alvast bedankt voor alle moeite!

Mvg,
The goose
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan