2010-08-13 155 views
1

我有以下:对齐内容

HTML

<th class="sort"> 
<div> 
    <div class="sort"></div><a href="#">Last Name</a> 

</div> 
</th> 

CSS:

table.tablesorter thead th.sort 
{ 
    padding:0; 
} 

table.tablesorter thead th div.sort 
{ 
    margin:0; 
    width:15px; 
    height:30px; 
    float:left; 
    background: url("/Content/images/admin/sort.png") no-repeat; 
    background-position: 0px center; 
    cursor:pointer; 
} 

table.tablesorter thead tr th.sort a 
{ 
    cursor:pointer; 
color:inherit; 
    vertical-align:middle; 
    float: left; 
    padding-top: 7px; 
} 

我想显示内部和内部垂直排列中,总是在一行,这样当浏览器窗口调整大小(小)时,它不会中断,并且不会更多地位于内部(这正是现在发生的情况)。 感谢

+0

链接元素(一个在你的CSS),不会浮留给你现在拥有它,因为它不是一个块元素。给它显示:块;和float:left;明确:无;属性,它会浮动左边给你。 – SimonDowdles 2010-08-13 08:13:59

回答

1

使用“display inline”命令

<div style="display:inline;float left;"><a href="#">First name</a></div> 
<div style="display:inline;float right;"><a href="#">Last name</a></div> 
+0

我宁愿将它们两个都清空:none;命令,因为如果父元素非常宽,则将第二个div右移可能会使其离开另一个数英里。然后,他们可以使用边距或填充进行视觉样式。尽管如此,ie6有一个令人讨厌的双浮动边缘错误 - http://www.positioniseverything.net/explorer/doubled-margin.html – SimonDowdles 2010-08-13 08:11:48

0

它我也不清楚什么是“内部”和“内部”的youre指(你mught要更新和详细一点,如以及发布表格的完整标记),但听起来你基本上希望所有东西都在一个连续的行中,而不管可用空间。您可以关闭whitespace: nowrap;的文字。但是,您的内容将溢出th,因为这是表格单元格的工作方式,因此您需要在包装文本的东西上设置overflow: hidden。除非你在细胞内需要多于一种的元素,否则你不需要浮子。

的标记可能是这样的:

<thead> 
    <th><div class="clip sort"><a href="#">First Name</a></th> 
    <th><div class="clip sort"><a href="#">Last Name</a></th> 
</thead> 

蒙山的CSS像这样:

.clip {width: 100%; overflow: hidden; whitespace: nowrap;} 
th {vertical-align: middle; height: 30px;} 
+0

设置为vertical-align:middle;不会导致div被垂直对齐,但它会吗? – SimonDowdles 2010-08-13 08:15:23

+0

不知道....通常不会,但表格单元格有不同的规则,并且通常会尊重垂直对齐...但我不记得这是否适用于div,因为它是块元素... – prodigitalson 2010-08-13 15:20:55