Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Presbiopia - la 43 ani ?

Termen transcriere autovehicul

Cazare Timisoara pe 4-5 zile

Primele zile ale internetului per...
 Ditra 25

Casti USB-C ptr A-54

Aplicatie medicala / asistent med...

De ce vor atația politicieni...
 ERR_ADDRESS_UNREACHABLE

Legea 18/1968 Se mai aplica?

Digi conectare 2 routere prin fir

Succesiune notar versus instanta ...
 Montaj aer conditionat in balcon ...

Cont curent mulți valuta far...

Sugestii plan casa

Experiente cu firme care cumpara ...
 

Problema divuri cu float

- - - - -
  • Please log in to reply
2 replies to this topic

#1
cretzu_2488

cretzu_2488

    Junior Member

  • Grup: Members
  • Posts: 28
  • Înscris: 12.05.2009
Sunt nou pe acest forum si va salut pe toti cu mult respect.

Problema mea am cautat-o pe acest forum si mai sunt decat 2 topicuri cu acceasi tema dar cred eu, cu problema diferita la mine...
Vreau sa creez 2 divuri in continutul paginii unul langa celalalt folosind float : left si un width de 900px. Ambele divuri apartin in CSS astfel :
.wrapper .main_container #div1left / #div2right. Problema este ca atunci cand le dau float la cele doua ID-uri imi ies pur si simplu din ambele clase, ca si cum nu ar mai apartine de .main_container... si automat trebuie sa dau bordura/bg, bla bla... atributele astea dandu-le in prealabil la ambele clase...

Daca n-ati inteles nimic o sa pun codul mai jos si HTML si CSS... poate va convingeti

HTML :
<div class="wrapper">
	<div class="banner">
		
		<div id="logo">
		<img src="images/imagini_noi/sigla_store.jpg" alt="Store Exim Romania" />
		</div>
		<div id="flash">
		</div>
		<div id="certificate">
		<img src="images/imagini_noi/iso9001.jpg" alt="Iso 9001" />
		<img src="images/imagini_noi/iqnet.jpg" alt="IqNET" />
		</div>
		
	</div><!--end banner-->
	
	<div id="meniu">
	</div><!--end meniu-->
	
	<div class="main_container">
		<div id="div1left">
		</div>
		
		<div id="div2right">
		
		</div>
	</div>
	
</div><!--end wrapper-->

CSS:

.wrapper {
	margin: auto;
	height: auto;
	width: 900px;
	border: 1px solid #000;
	background-color: #FFF;
}

.wrapper .banner #logo {
	float: left;
	height: auto;
	width: 300px;
}

.wrapper .banner #flash {
	float: left;
	height: 100px;
	width: 350px;
}
.wrapper .banner #certificate {
	float: left;
	height: 100px;
	width: 250px;
}
.wrapper #meniu {
	height: 35px;
}
.wrapper .banner {
	margin: auto;
	height: 105px;
	width: 900px;
}
.wrapper .main_container {
	margin: auto;
	width: 900px;
}
.wrapper .main_container #div1left {
	float: left;
	width: 500px;
}
.wrapper .main_container #div2right {
	float: left;
	width: 400px;
}

Ideea este ca vreau ca div1left sa fie de 500px si right de 400px , ambele insumand width-ul wrapper-ului adica de 900px.... practic vreau 2 coloane, dar nu vreau sa iasa din ambele clase ca asa isi pierd din atributele care le-am definit in wrapper si main_container ( border, bg..) fara sa mai fiu nevoit sa le specific si la aceste divuri... Daca dau la toate div-urile float:left atunci e ok, main_container inghite divurile si wrapper-ul la fel, dar vreau sit-ul meu sa fie centrat. Si nu vreau sa specific inaltimea , vreau sa merg doar pe auto...

Sper ca am fost destul de explicit... Va salut, stima si numai bine !

#2
Jumping Jack

Jumping Jack

    Member

  • Grup: Members
  • Posts: 622
  • Înscris: 12.09.2007

 cretzu_2488, on May 12 2009, 10:41, said:

Sunt nou pe acest forum si va salut pe toti cu mult respect.

Problema mea am cautat-o pe acest forum si mai sunt decat 2 topicuri cu acceasi tema dar cred eu, cu problema diferita la mine...
Vreau sa creez 2 divuri in continutul paginii unul langa celalalt folosind float : left si un width de 900px. Ambele divuri apartin in CSS astfel :
.wrapper .main_container #div1left / #div2right. Problema este ca atunci cand le dau float la cele doua ID-uri imi ies pur si simplu din ambele clase, ca si cum nu ar mai apartine de .main_container... si automat trebuie sa dau bordura/bg, bla bla... atributele astea dandu-le in prealabil la ambele clase...

[...]

Ideea este ca vreau ca div1left sa fie de 500px si right de 400px , ambele insumand width-ul wrapper-ului adica de 900px.... practic vreau 2 coloane, dar nu vreau sa iasa din ambele clase ca asa isi pierd din atributele care le-am definit in wrapper si main_container ( border, bg..) fara sa mai fiu nevoit sa le specific si la aceste divuri... Daca dau la toate div-urile float:left atunci e ok, main_container inghite divurile si wrapper-ul la fel, dar vreau sit-ul meu sa fie centrat. Si nu vreau sa specific inaltimea , vreau sa merg doar pe auto...

Sper ca am fost destul de explicit... Va salut, stima si numai bine !

Problema ta este alta, nu ce ai descris acolo. Mi-a luat ceva timp sa inteleg ce vrei... A trebuit sa construiesc pagina sa vad in browser ce si cum.
Deci: Tu vrei ca border-ul negru si background-ul de la wrapper sa se intinda odata cu cele doua coloane div1left si div2right. Banuiesc ca despre asta e vorba.

Problema ta este ca cele doua div-uri au float, pe cind ascendentii lor (wrapper si main_container) nu au. Trebuie sa bagi la cap ca un container cu float este scos din flow-ul normal a documentului si parintele lor nu poate sa se extinda ca sa il cuprinda. Pentru a remedia asta, ori mai faci un div in jurul lor, si care sa aibe float, latimea de 900px , border si background. In felul asta obtii ce vrei.

Soluitia mai eleganta este sa fortezi un clear:both dupa cele doua div-uri cu float. Asta se obtine daca parintele lor (main_container) are niste definitii mai speciale (cauta in google 'clearfix css', ca sa intelegi mai bine). Eu iti scriu aici codul de care ai nevoie ca sa functioneze cum vrei, dar du-te si cauta in google ce ti-am scris, ca sa si intelegi de ce.

Ca sa functioneze codul asta, adauga clasa .clearfix la .main_container. Asa o sa ai <div class="main_container clearfix">
As fi putut sa definesc .maincontent, insa .clearfix mai poate fi refolosit in site, pe cind .maincontent nu.

In plus, poate resetezi si tu margin si padding * {margin:0;padding:0}, ca sa fii consistent in browsere.

Iata codul css:
.clearfix:after {
	content: ".";
	display: block;
	clear: both;
	visibility: hidden;
	line-height: 0;
	height: 0;
}
 
.clearfix{
	display: inline-block;
}
 
html[xmlns] .clearfix{
	display: block;
}
 
* html .clearfix {
	height: 1%;
}

/* Hides from IE-mac \*/
* html .clearfix {height: 1%;}
/* End hide from IE-mac */

Edited by Jumping Jack, 12 May 2009 - 13:31.


#3
cretzu_2488

cretzu_2488

    Junior Member

  • Grup: Members
  • Posts: 28
  • Înscris: 12.05.2009
gata am rezolvat, imi pare rau ca nu am fost destul de explicit dar ma bucur ca m-ai ajutat si ai inteles problema mea.

am facut ceva mai simplu, am cautat cum ai zis si am aplicat in div-ul parinte (main_container) in CSS clear:both si overflow:hidden si asta a rezolvat tot... :D

Multumesc mult, puteti inchide topicul.

Anunturi

Neurochirurgie minim invazivă Neurochirurgie minim invazivă

"Primum non nocere" este ideea ce a deschis drumul medicinei spre minim invaziv.

Avansul tehnologic extraordinar din ultimele decenii a permis dezvoltarea tuturor domeniilor medicinei. Microscopul operator, neuronavigația, tehnicile anestezice avansate permit intervenții chirurgicale tot mai precise, tot mai sigure. Neurochirurgia minim invazivă, sau prin "gaura cheii", oferă pacienților posibilitatea de a se opera cu riscuri minime, fie ele neurologice, infecțioase, medicale sau estetice.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate