adplus-dvertising

Permanent 2x3 CSS image gallery

Asked 10 years ago
Viewed 1.54 k times

I have very basic image gallery how can I fixed it to be 3 columns by 2 rows

This is the HTML code

<div id="gallery">
        <div class="img">
            <a target="_blank" href="klematis_big.htm"> <img src="../zeela/img/image_1.png" alt="Klematis"/> </a>
            <div class="descHead">
                כותרת
            </div>
            <div class="desc">
                Add a description of the image here
            </div>
        </div>
        <div class="img">
            <a target="_blank" href="klematis2_big.htm"> <img src="../zeela/img/image_1.png" alt="Klematis" /> </a>
            <div class="descHead">
                כותרת
            </div>
            <div class="desc">
                Add a description of the image here
            </div>
        </div>
        <div class="img">
            <a target="_blank" href="klematis3_big.htm"> <img src="../zeela/img/image_1.png" alt="Klematis" /> </a>
            <div class="descHead">
                כותרת
            </div>
            <div class="desc">
                Add a description of the image here
            </div>
        </div>
        <div class="img">
            <a target="_blank" href="klematis4_big.htm"> <img src="../zeela/img/image_1.png" alt="Klematis" /> </a>
            <div class="descHead">
                כותרת
            </div>

            <div class="desc">
                Add a description of the image here
            </div>

        </div>
        <div class="img">
            <a target="_blank" href="klematis4_big.htm"> <img src="../zeela/img/image_1.png" alt="Klematis"  /> </a>
            <div class="descHead">
                כותרת
            </div>
            <div class="desc">
                Add a description of the image here
            </div>

        </div>
        <div class="img">
            <a target="_blank" href="klematis4_big.htm"> <img src="../zeela/img/image_1.png" alt="Klematis" /> </a>
            <div class="descHead">
                כותרת
            </div>
            <div class="desc">
                Add a description of the image here
            </div>

        </div>

    </div>

and this is the CSS code

#gallery{

}
div.img {
    margin: 2px;
    height: auto;
    width: auto;
    float: right;
}
div.img img {
    width: 200px; /* what is the img size*/
    height: 200px;
    display: inline;
    margin-left: 30px;
    margin-right: 30px;
    margin-bottom: 20px;
    border: 1px solid #ffffff;
}

/*
 div.img a:hover img {
 border: 1px solid #0000ff;
 }*/
div.desc {
    text-align: center;
    font-weight: normal;
    width: 120px;
    margin: 30px;
}
.descHead {
    margin-right: 30px;
    margin-top: 20px;
    margin-bottom: 15px;
    font-family: Tahoma;
    font-size: 24px;
    color: #323232;
}

.desc {
    margin-right: 30px !important;
    margin-bottom: 40px !important;
    font-family: Tahoma;
    font-size: 14px;
    color: #323232;
}

asked 10 years ago

Correct Answer

If you cannot alter the HTML, this will do it:

.gallery {
    width: /* ((width of .image including padding/margin) * 3) */
    overflow: hidden;
    margin: /* top: 0, right: 0, bottom: -(size of .image's bottom margin), left: -(size of .image's left margin) */
    /*
    yes, that's right, the left/bottom margins are negative, but it's purely presentational
    for left floated .image, replace right with left
    */
}

Otherwise, using the CSS display properties will work.

Should also point out that section/heading/paragraph tags are probably more appropriate than meaningless div tags. Alternately, the figure/figcaption collection might also be appropriate:

http://html5doctor.com/the-figure-figcaption-elements/

answered 1 year ago

Other Answer

I would consider using the CSS display:table : http://www.w3schools.com/cssref/pr_class_display.asp

answered 10 years ago