user198989
user198989

Reputation: 4665

Position:absolute bottom right alignment

I am trying to align my 40px40px image to bottom right. I've tried this, worked fine, but if I use another back image, it doesn't fit to bottom right. How can I avoid this problem ?

<div style="width:179px;margin-right:9px;padding-bottom:10px;background-color:white;border:1px solid #c9d2d6;padding:4px;padding-bottom:7px;border-radius:4px;position:relative">
    <img src="http://media-cache-ec4.pinterest.com/upload/212443307392484250_XX0wNZSy_b.jpg" style="width:179px;" \>
    <div style="position:absolute;z-index:5;top:73%;left:75%;width:40px;height:40px;border:1px solid #333333;">
        <img width=40 src="http://media-cache-ec4.pinterest.com/avatars/baduizm1974-1346279934.jpg" \>
    </div>
    <div style="border-radius:6px;width:179px;border-top:0px;position:relative;background-color:white;">
        <div style="text-align:left;padding-left:6px;padding-right:5px;padding-top:3px;">Fragments by textile artist Lorenzo Nanni (2001) </div>
    </div>
</div>

Upvotes: 0

Views: 7509

Answers (2)

h2ooooooo
h2ooooooo

Reputation: 39532

UPDATE:

That said, you should use a mix of CSS and HTML instead:

HTML:

<div class="container">
    <div class="picture-container">
        <img src="http://media-cache-ec4.pinterest.com/upload/212443307392484250_XX0wNZSy_b.jpg" class="background-picture" \>
        <div class="avatar">
            <img src="http://media-cache-ec4.pinterest.com/avatars/baduizm1974-1346279934.jpg" \>
        </div>
    </div>
    <div class="container-text">
        <div>Fragments by textile artist Lorenzo Nanni (2001)<br />More text</br />Goes here</div>
    </div>
</div>​

CSS:

.container {
    width: 179px;
    margin-right: 9px;
    padding-bottom: 10px;
    background-color: white;
    border: 1px solid #c9d2d6;
    padding: 4px;
    padding-bottom: 7px;
    border-radius: 4px;
    position: relative;
}
.container .picture-container {
    position: relative;
    min-height: 60px;
}
.container .background-picture {
    width: 179px;
}
.container .avatar {
    position: absolute;
    z-index: 5;
    bottom: 10px;
    right: 5px;
    width: 40px;
    height: 40px;
    border: 1px solid #333333;
}
.container .avatar img {
    width: 40px;
}
.container .container-text {
    border-radius: 6px;
    width: 179px;
    border-top: 0px;
    position: relative;
    background-color: white;
}
.container .container-text div {
    text-align: left;
    padding-left: 6px;
    padding-right: 5px;
    padding-top: 3px;
}​

This also fixed the problem in the comment below.

DEMO


Old post, that explains why you have a problem in the first place and doesn't account for taller text:

In

<div style="position:absolute;z-index:5;top:73%;left:75%;width:40px;height:40px;border:1px solid #333333;">
    <img width=40 src="http://media-cache-ec4.pinterest.com/avatars/baduizm1974-1346279934.jpg" \>
</div>

instead of

top:73%;left:75%; then use bottom and right like so: bottom: 60px;right: 10px;


Full example:

<div style="width:179px;margin-right:9px;padding-bottom:10px;background-color:white;border:1px solid #c9d2d6;padding:4px;padding-bottom:7px;border-radius:4px;position:relative">
    <img src="http://media-cache-ec4.pinterest.com/upload/212443307392484250_XX0wNZSy_b.jpg" style="width:179px;" \>
    <div style="position:absolute;z-index:5;bottom: 60px;right: 10px;width:40px;height:40px;border:1px solid #333333;">
        <img width=40 src="http://media-cache-ec4.pinterest.com/avatars/baduizm1974-1346279934.jpg" \>
    </div>
    <div style="border-radius:6px;width:179px;border-top:0px;position:relative;background-color:white;">
        <div style="text-align:left;padding-left:6px;padding-right:5px;padding-top:3px;">Fragments by textile artist Lorenzo Nanni (2001) </div>
    </div>
</div>​

DEMO

Upvotes: 3

LeBen
LeBen

Reputation: 2049

You have to put it inside a container, then make the image a block to avoid the space under it. Note that using properties right & bottom are a better solution than left and top.

http://jsfiddle.net/Ka4r4/

Upvotes: 3

Related Questions