2009-10-06 10 views
6

Próbuję zrobić prosty układ płynów przy użyciu CSS tables technique, ale jest jedna wielka wada, którą znalazłem w nim: min-width i max -width są ignorowane na elementach z wyświetlaniem komórek tabeli.min-width i max-width są ignorowane, gdy element ma display: table-cell

Czy znasz jakieś obejście, które pozwoliłoby mi określić, jak daleko # element pasków może rozciągać się w poniższym przykładzie?

XHTML:

<div id="wrapper"> 

    <div id="main"> 
    </div> 

    <div id="sidebar"> 
    </div> 

</div> 

CSS:

#wrapper { 
display: table-row; 
border-collapse: collapse; 
} 

    #main { 
    display: table-cell; 
    } 

    #sidebar { 
    display: table-cell; 
    width: 30%; 
    min-width: 100px; /* does not work! */ 
    max-width: 310px; /* does not work! */ 
    } 

Odpowiedz

-1

Jeśli jesteś po prostu staramy się robić pasek boczny i główny Setup, za pomocą pływaka: lewy zamiast table-row i table-cell. Następnie możesz umieścić swoją min-szerokość na id.

+0

Jeśli potrzebujesz 'aside' być taka sama wysokość jak' main' (lub na odwrót) pływających je do siebie nie będzie działać. To jest powód, dla którego w pierwszej kolejności robimy "display: table" i "display: table-cell". – IIllIIll

5

Dodaj kolejny opakowanie wewnątrz każdej Gr:

<div id="wrapper"> 

    <div id="main"> 
    <div class="inner"></div> 
    </div> 

    <div id="sidebar"> 
    <div class="inner"></div> 
    </div> 

</div> 

i umieścić deklaracje *-width na nich:

#sidebar div.inner { 
    min-width: 100px; 
    max-width: 300px; 
} 
+0

Dzięki, dodanie dodatkowej wewnętrznej div pozwoliło mi określić min-width. Ale dodanie max-width do wewnętrznego div nie zapobiegnie powiększaniu #sidebar, tutaj jest zrzut ekranu: http://wstaw.org/d/5ed3 –

Powiązane problemy