帮助CSS定位

时间:2009-09-17 13:00:58

标签: asp.net css

这是我的页面: link

正如您在屏幕截图中看到的那样,图标(红色圆圈)未与其上方的图标对齐(单击标题以展开它)。 alt text http://img338.imageshack.us/img338/1390/35070527.jpg

CSS:

body
{
    font-family: arial, helvetica, sans-Serif;
}


#talkbacks .noshow
{
    overflow:hidden;
    clear:both;
    padding: 2px 10px;

}


#talkbacks ul.top
{
    border: solid 1px #fff;
    margin: 0 -1px;
}

#talkbacks li
{
    width: 100%;
    /*margin-top: 5px;*/
}
/*
#talkbacks ul
{

    clear: both;
}*/



.n
{
    color: #758888;
    float: left;
    font-size: 12px;
    padding-right: 8px;
    line-height: 15px;
    width:15px; 
}


.c
{
    float: left;
    /*width: 400px;    */
    width:92%;
    margin-top: 0px;
    margin-right:5px;

}

.d
{
    font-weight: bold;
    color: #758888;
    font-size: 12px;
    line-height: 15px;
    margin: 0;
    padding: 0;
}


ul
{
    list-style-image: none;
    list-style-position: outside;
    list-style-type: none;
    padding-left:0px;
    margin-left:0px;
    margin-top:5px;
    margin-bottom:5px;
    clear:both;
}
a
{
    font-size: 12px;
    line-height: 15px;
    font-weight: bold;

}

a:link, a:visited
{
    color: #284D99;
    text-decoration: none;
    outline: none;
}
a:hover, a:active
{
    text-decoration: underline;
}


li ul li div.c
{
    padding-left: 26px;
}
li ul li ul li div.c
{
    padding-left: 52px;

}
li ul li ul li ul li div.c
{
    padding-left: 77px;
}
li ul li ul li ul li ul li div.c
{
    padding-left: 104px;
}

#talkbacks .noshow .userpanel
{
    display: none;  
}

#talkbacks .noshow .adminpanel
{
    display:none;
}
#talkbacks .noshow div.CommentBody, .show div.CommentBody p
{
    display: none;

}

/***************    Show Comment   **********************/
#talkbacks .show
{
    background: #F3F3F3 none repeat scroll 0 0;
    border-bottom: 1px solid #B6C7C7;
    border-top: 1px solid #B6C7C7;
    display: table;
    font-size: 12px;

    padding: 11px 10px;
    width: 439px;

}
/*#talkbacks .show p
{
    font-size: 1em;
}*/
#talkbacks .show div.CommentBody, .show div.CommentBody p
{
    display: block;
    margin: 1.5px 0 0 0;
    font-size: 12px;
}
#talkbacks .show .userpanel
{

    margin-top: 10px;

    display:block;
}


#talkbacks .show .userpanel .votes div.voteResult
{
    background-color: #FFFFFF;
    border: 1px solid #EBEBEB;
    color: #555555;
    float:left;
    font-weight: bold;
    padding: 0 4px;
    font-size: 11px;
}
#talkbacks .show .userpanel div.reply
{
    float:left;
}

#talkbacks .show .userpanel .votes div.buttons
{
    float:left;

}

/*************************** Add new comment **********************************/
#NewComment .textBox
{
    border: 1px Solid #002080;
    overflow:auto;
}
.linka 
{  
  cursor: pointer;
  cursor: hand;
}

问题部分是这个(我认为):

li ul li div.c
{
    padding-left: 26px;
}
li ul li ul li div.c
{
    padding-left: 52px;

}

我想将div“c”向右移动,而不是用图标移动userpanel。

3 个答案:

答案 0 :(得分:1)

问题是你将宽度设置为其容器的92%,然后在其上添加52px的填充。这使布局像这样:

|26px| LEVEL 1 |
|    |   92%   |

|  52px  | LEVEL 2 |
|        |   92%   |

当图标向右对齐时,它们现在在右边缘进一步偏移时偏移。我建议不要设置div的宽度,而是使用边距来对齐它们,如下所示:

|26px| LEVEL 1 |
|    |         |

| 52px  | LVL2 |
|       |      |

作为调试这些问题的提示,请将边框放在不同颜色的所有内容上。这可能会使你看到它的情况变得更加明显。

答案 1 :(得分:1)

你可以这么简单地做到这一点。

<div class="commentcontainer">
......
<div class="updown">....</div>
......
</div>

style :

.commentcontainer{position:relative;}
.commentcontainer .updown {position:absolute; top:20px; right:20px;}

这应该有效。对不起我用过其他课程和东西.. 主要的意思是:放位置:相对;在commentbox的css中并放置position:absolute;顶部:20像素;右:20像素;在上/下投票的CSS中,这应该将你的上/下投票img在所有评论的同一位置。

如果这不起作用,你应该检查评论框的宽度,如果它有一个定义的值..尝试放:宽度:100%; 希望它有所帮助

答案 2 :(得分:0)

在FF3中测试

#talkbacks .show
{   
  -moz-background-clip:border;
  -moz-background-inline-policy:continuous;
  -moz-background-origin:padding;
  background:#F3F3F3 none repeat scroll 0 0;
  border-bottom:1px solid #B6C7C7;
  border-top:1px solid #B6C7C7;
  font-size:12px;
  overflow:hidden;
  padding:11px 10px;
  position:relative;
  width:439px;
}

div.votes
{
  float:none !important;
  position:absolute;
  right:20px;
}