div automatisch langer maken

Status
Niet open voor verdere reacties.

Sando60

Gebruiker
Lid geworden
29 aug 2006
Berichten
521
Hallo,

Ik heb een website met 2 divs een navigatie div en een div waar de inhoud van de pagina op staat.
Ik heb ze naast elkaar gezet.
Maar als er heel veel teskst en 1 van de 2 div staat dan word alleeen die langer en de andere div niet.

Hoe kan ik er voor zorgen dat 2 divs altijd evenlang zijn?

bvd
 
met bovenstaande pagina zou het perfect kunnen. Mits de breedtes niet veranderd wat normaal gesproken ook niet gebeurd.

Een andere manier is javascript
Code:
	function faux()
	{
	    var browserName=navigator.appName;
        if (browserName=="Microsoft Internet Explorer"){var is_ie=true;}else{var is_ie=false;}
		
		if(is_ie)
		{
				left_height = document.getElementById('left').offsetHeight;
				main_height = document.getElementById('main').offsetHeight;
        }
		else
		{
			left = document.getElementById('left');
			left_height = document.defaultView.getComputedStyle(left, "").getPropertyValue("height");
			main = document.getElementById('main');
			main_height = document.defaultView.getComputedStyle(main, "").getPropertyValue("height");
		}
				
		if(left_height > main_height)
		{
			//alert(left_height+' > '+main_height);
			document.getElementById('main').style.height = left_height;
		}
		else if(left_height < main_height)
		{
			//alert(left_height+' < '+main_height);
			document.getElementById('left').style.height = main_height;
		}
	}
 
Dit lijkt me, eerlijk gezegd, geen goed idee.
Voor dit soort dingen is css bedoeld, JavaScript is bedoeld voor de meer actievere dingen, zeg maar.
De test op de naam "Microsoft Internet Explorer" gaat niet foutloos werken. Die naam varieert enorm en andere browsers kunnen ook net doen of ze IE zijn, om allerlei redenen. Als je dat wilt testen, moet je testen op iets wat alleen in IE voorkomt en niet in andere browsers. Maar browser sniffing is eigenlijk volkomen achterhaald als het om lay-out gaat.
Wat ook mist is de truc met de achtergrond-afbeelding. Met dat JavaScript heb je dan wel de hoogste kolom, maar daar heb je zonder achtergrond-afbeelding verder weinig aan.
 
Betreft de browser name ben ik het wel met je eens. Je kunt ook uitgebreidere manieren uitvoeren om achter de juiste browser te komen. Maar waarom zouden ander browser doen alsof ze ie zijn? Een gebruiker kan inderdaad een andere user agent opgeven en dan werkt het niet nee, maar dit is ook niet echt handig voor de gebruiker zelf.
Anyway toch is dit wel tricky idd om dat de browser naam kan wijzigen in nieuwere versies.

Betreft die achtergrond, daar begrijp ik je niet helemaal. Als je een div hoger maakt door dit javascript, wordt de achtergrond afbeelding ook gewoon meegenomen.
 
Wat je overigens anders ook nog kunt doen is je eigen getComputedStyle functie maken wanneer deze niet bestaat
Code:
if (!window.getComputedStyle) {
  window.getComputedStyle = function(el, pseudo) {
  this.el = el;
  this.getPropertyValue = function(prop) {
   var re = /(\-([a-z]){1})/g;
   if (prop == 'float') prop = 'styleFloat';
   if (re.test(prop)) {
    prop = prop.replace(re, function () {
    return arguments[2].toUpperCase();
    });
   }
return el.currentStyle[prop] ? el.currentStyle[prop] : null;

}
return this;
}
}
let niet op indentiëring, script is copy paste
 
Met die achtergrond-afbeelding bedoel ik dat die Belgische pagina 'n afgeronde handleiding is, inclusief hoe je die achtergrond-afbeelding gebruikt.
Normaal genomen wordt met zo'n vraag als deze bedoeld dat de achtergrond van beide divs even hoog moet zijn, want waarom zou je anders beide divs even hoog willen hebben? En daar is dus zo'n afbeelding bij nodig.
En omdat dit soort vragen - niet vervelend naar vragensteller bedoeld - typisch beginnersvragen zijn, is het handig om 't hele verhaal te vertellen. Anders komt er de vervolgvraag "ik heb het gedaan, maar ik zie niets" :D
Blijft staan: waarom zou je 't via JavaScript doen als css nou juist bedoeld is voor dit soort opmaakdingen?
 
In dit geval zou ik geen javascript gebruiken. Ik zei eerder ook dat jouw oplossing goed hiervoor was. Wanneer deze oplossing wel handig is, als je een onbekend aantal kolommen hebt die je even lang wilt laten zijn :)
 
Laatst bewerkt:
O, wat mooi, zijn we het helemaal harmonieus eens :)
Ja, voor veel onbekende dingen is css absoluut minder geschikt dan JavaScript.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan