Skocz do zawartości

Głupie problemy - CSS


Sebaci

Rekomendowane odpowiedzi

Robie sobie stronke, dałem głównego diva a w nim reszta mniejszych, chciałem żeby strona była powiedzmy na 800 px to dałem głównego na taki rozmiar i chciałbym żeby strona była wyśrodkowana. I problem jest taki że nie wiem jak wyśrodkować diva!

Drugi problem: Chcę żeby był div główny i reszta w nim, a tu patrze i tylko 2 divy są w tym głównym, reszta pod nim. Czyli tylko górny baner i mały div pod nim. 3 divy, które mają być obok, tj menu, treść i prawy div, są pod spodem poza całością. Jednak gdy usunę im atrybuty float: left to sie okazuje że już są w tym głównym divie, ale wtedy wiadomo, nie układają się obok siebie tylko są jeden pod drugim.

site1pl.th.jpg

i chodzi o to żeby te wszystkie divy były w tej jasnej ramce, czyli głównym divie.

<div id="site">
<div id="top"><h1>pierwszy div</h1></div>
<div id="undertop">drugi div</div>
<div id="left">trzeci</div>
<div id="main">czwarty</div>
<div id="right">piąty</div>
</div>

body{
width: 995px;
height: auto;
text-decoration: none;
font-family: verdana;
font-size: 10px;
color: #333333;
background-color: #d2ffd2;
}
#site{
width: 800px;
height: auto;
border: 1px #006600 solid;
background-color: #f4fff4;
overflow: none;
}
#top{
width: 700px;
height: 120px;
clear: both;
}
#undertop{
width: 700px;
height: 16px;
padding: 2px;
clear: both;
}
#left{
width: 100px;
height: auto;
padding: 10px;
float: left;
}
#main{
width: 400px;
height: auto;
padding: 10px;
margin-left: 10px;
margin-right: 10px;
float: left;
}
#right{
width: 100px;
height: auto;
padding: 10px;
float: left;
}

EDIT: już sobie poradziłem ze divami wyłażącymi poza div główny. Teraz tylko nie wiem jak całość wyśrodkować. Chodzi mi o to żeby cał strona, o ustalonej szerokości wyświetlała się na środku, a nie z lewej, bez względu na rozdzielczość.

Odnośnik do komentarza
Udostępnij na innych stronach

width: 995px;
:(

a to co niby ma być ?

Tu jest moja wersja twojego wynalazku : https://www.ecv1457.2-ec.com/testy/5div.html

co do wyśrodkowania ... można kombinować, jest na to rozwiązanie, ale ciężko wtedy pogodzić wyrównanie tych DIV-ów w środku. Temat jest otwarty : być może ktoś ma na to pomysł bo widziałem kilka rozwiązań w sieci, ale żaden nie uwzględniał podobnego przykładu.

body{

text-align: center;

}

działa tylko Explorerem

zresztą to samo można załatwić za pomocą <center>

serce.gifKocham Cię | Życie po Ślubie | Psychopatologia

Popełniłeś tylko jeden błąd ... jaki ? ... RAMBO !

Odnośnik do komentarza
Udostępnij na innych stronach

cala zabawe zaczynamy od doctype, ktory zostanie zrozumiany przez wiekszosc przegladarek:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

zarocool: kod css dla #site:

#site {
 margin:0 auto;width:750px;
}

z body wyrzuc text-align i czemu wiekszosc divow jest relative?

.clearfix dla #site

/* position is everything */
.clear {clear:both;}
.clearfix:after {content:".";display:block;height:0;clear:both;visibility:hidden;}
.clearfix {display:inline-table;}
/* Hides from IE-mac \*/
* html .clearfix {height:1%;}
.clearfix {display:block;}
/* End hide from IE-mac */

Odnośnik do komentarza
Udostępnij na innych stronach

A nie wystarczy zrezygnować z float: left; w #site i dodać tam jeszcze margin: 0 AUTO;. Z moich obserwacji wynika, że działa i w IE, i w FF, i w Operze.

...so steer a course, a course for nowhere and aforyzmy drop the anchor, my little empire - I'm going nowhere...

Administracja serwerami - zapraszam! A po godzinach - Cytaty.eu.

Odnośnik do komentarza
Udostępnij na innych stronach

A nie wystarczy zrezygnować z float: left; w #site i dodać tam jeszcze margin: 0 AUTO;

NIE wystarczy, zobacz sobie co się dzieje pod Firefox :

https://www.ecv1457.2-ec.com/testy/5div2.html

#site zawiera ramkę która powinna obejmować wszystkie DIV-y w środku, a zostaje w górze, da się to obejść ustalając stałą wartość height, ale wtedy dasz kilka razy <br /> i DIV w środku wyjdzie poza #site :(

EDIT : Nie zauważyłem clearfix-a, trzeba by to sprawdzić

serce.gifKocham Cię | Życie po Ślubie | Psychopatologia

Popełniłeś tylko jeden błąd ... jaki ? ... RAMBO !

Odnośnik do komentarza
Udostępnij na innych stronach

Tak jak juz wspomnial w3master trzeba zacząć od doctype, bo różnie bedzie z margin i padding przy różnym doctype.

I co za dużo styli to niezdrowo.

Tyle wystarczy aby było na środku i we wszystkich przegladarkach jednakowo.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="https://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
<!--
body{
font: bold 10px verdana;
background: #FFFFFF;
text-align: center;
color: #FFFFFF;
}
#site{
border: 3px solid #000000;
background-color: #FFFFFF;
text-align: left;
margin: auto;
width: 750px;
}
#top{
width: auto;
margin: auto;
height: 120px;
padding: 10px;
background-color: #99CC33;
}
#undertop{
width: auto;
margin: auto;
height: 16px;
padding: 10px;
background-color: #3D5100;
}
#left{
float: left;
width: 170px;
padding: 10px;
background-color: #557100;
}
#main{
margin-left: 190px;
width: auto;
padding: 10px;
background-color: #7CA600;
}
#right{
float: right;
width: 140px;
padding: 10px;
background-color: #99CC00;
}
-->
</style>
</head>
<body>
<div id="site">
<div id="top"><h1>pierwszy div</h1></div>
<div id="undertop">drugi div</div>
<div id="left">trzeci</div>
<div id="right">pi±ty</div>
<div id="main">czwarty</div>
</div>
</body>
</html>

.

Odnośnik do komentarza
Udostępnij na innych stronach

Hmm, chyba zrobię stronę na cały ekran, tak jak na początku myślałem. Z tego co widzę to wiele stron które są wycentrowane to są robione tak, że są w tabeli o ustalonej szerokości z parametrem center. A ja nie chce używać tabel. Tylko pytanie: dlaczego nie dano takiego prostego parametru w CSS jak align: center?

Hmm a jak nie szerokość 955px to jaką mam dać? Jak daje na auto to nie ma paska przewijania gdy zawartość strony jest większa... a jak na 100% to pojawia sie poziomy suwaczek i strona jest nieznacznie szersza od szerokości ekranu...

Odnośnik do komentarza
Udostępnij na innych stronach

hehe yavaho bardzo sprytnie wymyślone :( na to nie wpadłem,

ale zobacz co się dzieje jak dasz zbyt długi text pod Firefoxem :P

https://www.ecv1457.2-ec.com/testy/5div3.html

serce.gifKocham Cię | Życie po Ślubie | Psychopatologia

Popełniłeś tylko jeden błąd ... jaki ? ... RAMBO !

Odnośnik do komentarza
Udostępnij na innych stronach

Sebaci: to jakies stare rozwiazania musisz ogladac, zapytaj google co wie na temat 'centrowania divow', border ma zwyczaj rozpychania layoutu o dodatkowe piksele.

zerocool: faux columns i po problemie.

yavaho: prosze, zmien <div id="site"> na <div id="site" class="clearfix"> i uzupelnij css o definicje klasy clearfix. i skad doctype 1.1 ? pogon za najwyzszym numerkiem? - ie go nie zrozumie i wejdzie w tryb quirks mode.

Odnośnik do komentarza
Udostępnij na innych stronach

zerocool

To jest typowy tasiemiec. A każda przegladarka przełamuje tekst za różnymi znakami. Mozna taki tekst ukryć wstawiając do styli np: overflow:hidden;

w3master

Przed czym zabezpieczy ten hack "clearfix" w moim przypadku? Czy nie wystyrczy w odpowiednich miejscach wstawić clear:cośtam; ?

Osobiście unikam takich trików aby sie w przyszłości nie wpakować w bagno jak wyjdzie nowa przeglądarka, która to dziwacznie zinterpretuje.

ps. ja używam zawsze XHTML 1.0

.

Odnośnik do komentarza
Udostępnij na innych stronach

Przed czym zabezpieczy ten hack "clearfix" w moim przypadku? Czy nie wystyrczy w odpowiednich miejscach wstawić clear:cośtam; ?

powoduje rozciagniecie rodzica, jesli zawartosc jest floatowana. tak wystarczy dac clear:costam - tylko do czego? musi byc to ostatni element w divie, ktorego potomkowie sa floatowani. moze <br class="clear" /> ? imho malo semantycznie.

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności