手机
当前位置:查字典教程网 >网页设计 > Div+Css教程 >div中加入span右对齐后出现换行显示两种解决思路
div中加入span右对齐后出现换行显示两种解决思路
摘要:就类似说空间里面模块中模块名靠左,编辑字样出现在靠右,一般思路的话一定是认为通过分开两列,一个align=left,另一个align=rig...

就类似说空间里面模块中模块名靠左,编辑字样出现在靠右,一般思路的话一定是认为通过<td>分开两列,一个align=left,另一个align=right。后来我无意中发现有个东西叫<span>,比如实现模块的效果就可以:<div class="portlet" align="left">文章<span><a href="">编辑</a></span></div>;当然我们还需要一个CSS文件去控制span的样式:

.portlet span

{

float:right

}

这个时候就发现出现一个问题“文章”跟“编辑”不在同一行中!这下苦闷了!于是只好去搜了问题原因如下(以下内容摘自bolg):

当非float的元素和float的元素在一起的时候,如果非float元素在先,那么float的元素将被排斥

也就是说,你的span是float:right,但是你文本还是float:none

如果要让两者占据同一行,一般有两个解决方法:

第一种:把span先于文本显示

如:

<div>

<span>

其实百度是XX!!

</span>

谷歌会稍微x一些,博客小子。

</div>

第二:把文本也设成float

如:

<div>

<span>

其实百度是xx!!

</span>

<span>

谷歌会稍微x一些,博客小子。

</span>

</div>

为什么会这样呢?(以下内容摘自bolg)

Span本身虽然是内联元素,但加上浮动后它就变成了块级元素了,所以才会自动换行,浮动元素的顶端不能高于先于它出现的浮动元素或段落的顶端

PS:

不用float 让div 居右

一个大的 div 里面有且只有一个小的 div,为了让小的 div 居右,可以使用 float,但大家都知道 float 会带来兼容方面的一些麻烦,为了使结构不那么复杂,可以使用 text-align、margin 来实现居右。

为了兼容 IE,对大的 div 指定样式:

text-align:right;

为了兼容 FF,对小的 div 指定样式:

margin:0px auto 0px auto;

同样,如果要居中:text-algin 可指定为 center,margin 的左、右边距可指定为 auto。

【div中加入span右对齐后出现换行显示两种解决思路】相关文章:

CSS右对齐实现方法

表格颜色渐变效果

CSS Hack汇总快查

firefox和谷歌不显示body背景图片的解决方法

css控制div中元素居中的示例

IE6下图片下方有空间距的多种解决方法

css控制div不能居中的解决办法

网站重构:利用CSS改善网站可访问性

针对主流浏览器的CSS-HACK写法及IE常用条件注释

清除行内元素之间HTML空白的几种解决方案

精品推荐
分类导航