开发者

fill container with floating divs according to window size & adjust width of divs to set max

im working on a page layout for a magazine. it now has 5 different categories - each of the categories is displayed on the main site inside a separate div floating left. so it looks like this

--------------page width-------------
-category1--category2--category3-
-category4--category5-

now i would like to have the three categories in first and second line stretch to take all the space until they reach a set amo开发者_StackOverflow社区unt of width and then fall back to a lower width to give more categories room in the first row on a page resize: (4 divs with min width does NOT fit inside the page width)

-----------------page width-----------
-category1  --category2  --category3 -
-category4        --category5        -

then on resize (as soon as 4 elements with the min-width fit in):

------------------------page width----------
-category1--category2--category3--category4-
-category5-

is this possible with css? (i don't think so) or with some javascript calculation. i tried a lot, but my java skills are just really bad ...

thanks so much! nice greets from vienna


I don't think you need any javascript to achieve this. I think what you're after is a media query within your css.

CSS has the ability to target css rules at specific canvas widths, device widths or orientations. So you could have markup like this

<div class="container">
    <div class="category-wrapper"></div>
    <div class="category-wrapper"></div>
    <div class="category-wrapper"></div>
    <div class="category-wrapper"></div>
    <div class="category-wrapper"></div>
</div>

And then change the widths of the category wrappers with CSS like this

.category-wrapper{
    float:left;
    width:100px;
}

@media (min-width:500px) and (max-width:950px){ 
    .category-wrapper{
         width:200px;
    }
}

@media (min-width:950px) and (max-width:1024px){ 
    .category-wrapper{
         width:400px;
    }
}

and so on.

See the spec for media queries here http://www.w3.org/TR/css3-mediaqueries/ a great primer on the concept of this way of working here http://www.alistapart.com/articles/responsive-web-design/

and since not all browsers support them, use Scott Jehl's amazing polyfill https://github.com/scottjehl/Respond to help out the laggers.

Hope this helps.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜