tags:

views:

34

answers:

3

Need some help with the CSS for generating a grid of perfect squares. Div's look like this, but I'd like to have each of them look like a perfect square - not a rectangle. Setting width and height in css doesn't do it. :-\

<div class="square" /> ... <div class="square" /> <div class="linebreak" />

.

.

.

<div class="square" /> ... <div class="square" /> <div class="linebreak" />

A: 

Use display:block together with width and height attributes.

o15a3d4l11s2
unfortunately, block breaks the horizontal rows...
ina
+1  A: 

Thats unusual

try something like this. It should work

.square {
   width:100px;
   height:100px;
   display:block;
   overflow:hidden;
   float:left;
}

See: http://jsfiddle.net/EyXpC/

Starx
unfortunately, block breaks the horizontal rows... –
ina
hahaha @ina, of course it does you have to float it. see the update
Starx
A: 

You need to combine these style rules to get what you need. The float property ensures they stack in a horizontal row, the block rule allows you to set the height and width of the element and the overflow hidden rule stops it from expanding with the content.

.square {
    float: left;
    width:200px;
    height:200px;
    display:block;
    overflow:hidden;
}
Sohnee
float left does it whew ! http://jsfiddle.net/AYCkr/1/
ina