height: auto, a include

Odpowiedz Nowy wątek
2011-08-14 19:12
0

Witam,

Mam pewien problem. Polega on na tym że parametr height przy #contencie nie dopasowuje się do includowanej zawartości (do #mainf) . Kod wygląda następująco:

<div id="content">
 
<div id="left-sidebar">
<?php include("inc/menu.php"); ?>
</div>
 
<?php if((isset($_GET['show']) && $_GET['show']=='1') || (!isset($_GET['show']))) { ?>      
<div id="main">
<?php include ("inc/main.php"); ?>
</div>
<div id="right-sidebar">
<div id="newsup">
<div id="newsone">
<?php $link=mysql_query("SELECT * FROM news ORDER BY id desc LIMIT 1");
while($wiersz=mysql_fetch_array($link)){
echo '<div id="newtytul">';
echo $wiersz['tytul'].'<br />';
echo '</div><div id="newdata">';
echo $wiersz['data'].' ';
echo $wiersz['kategoria'].'</div><br />';
echo $wiersz['tresc'];}
?>
</div>
</div>
</div>
<?php } else { ?>    
<div id="mainf">
<?php include ("inc/main.php"); ?>
</div>
<?php } ?>
</div>

a css'y w ten sposób:

#content {
padding-top: 30px;
background:url(../img/content.jpg) repeat-x #fefbef;
width: 100%;
height: auto;
min-height: 200px;  
padding-bottom: 50px;
}
#mainf {
padding-top: 25px;
padding-left: 15px;
float: left;
height: auto;
width: 750px;
} 

Bardzo proszę o pomoc..

edytowany 1x, ostatnio: herbi, 2011-08-14 19:19

Pozostało 580 znaków

2011-08-14 19:27
0
?>
</div>
</div>
</div>
<?php } else { ?>    
<div id="mainf">
<?php include ("inc/main.php"); ?>
</div>
<?php } ?>
</div>

Po co tak kombinować?
Zadanie domowe: pomyśl, jak można by to skrócić ;)
I naucz się formatować kod (tyczy się także CSS).


edytowany 1x, ostatnio: Patryk27, 2011-08-14 19:28

Pozostało 580 znaków

2011-08-14 19:32
0

ale skrócić te div'y ? czy zmienić ten skrypt php ?
Obiecuje, że pomyślę :P
A mógłbyś mi pomóc z tym height ? już kombinowalem na tysiąc sposóbów, czy div'y sa zamkniete, czy dobrze są zamknięte itp.
A co do formatowania to staram sie uczyc (zdecydowanie tutaj tego nie można zobaczyć) i masz może jakieś źródło z którego bym tą wiedzę uzyskał ?

Pozostało 580 znaków

2011-08-15 12:29
bswierczynski
1

Wysokość elementu jest sterowana poprzez CSS i zawartość dokumentu (w kodzie HTML). Wysokość elementu nigdy nie zależy od tego, czy jest includowany przez PHP, czy nie. Nigdy też nie zachodzi potrzeba nadania elementowi height: auto, chyba że chcemy nadpisać wartość, którą ustawiliśmy gdzie indziej. Wartość auto to domyślna wartość własności height.

Prawdopodobnie szukasz nie tam, gdzie trzeba. Wygląda na to, że masz problem z pływaniem (własność float). Jeśli jakiś element sam nie ma włączonego pływania, to jego wysokość nie dostosuje się do wysokości elementów-dzieci, które mają włączone pływanie. U Ciebie, z tego co widzę po pobieżnym ogarnięciu kodu, tak jest z elementem #content. Możesz poszukać w necie czegoś o nazwie "clearfix", co rozwiązuje ten problem (który tak naprawdę jest w wielu wypadkach pożądanym zachowaniem).

Możesz też po prostu spróbować dać elementowi #content deklarację CSS overflow: hidden -- jeśli dobrze zauważyłem ocb, to powinno pomóc (sorki, ale nie mam teraz czasu dokładniej przeglądać tego kodu).

można po prostu dodać jako ostatnie dziecko #content element ze stylem clear:both. - ŁF 2011-08-19 14:42

Pozostało 580 znaków

2011-08-16 10:21
0

o! Udało się!

Jesteś Genialny ;] Dziękuję Tobie bardzo za pomoc i życzę sukcesów ;)

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0