网页制作 
首页 > 网页制作 > 浏览文章

div中加入span右对齐后出现换行显示两种解决思路

(编辑:jimmy 日期: 2024/10/1 浏览:3 次 )
就类似说空间里面模块中模块名靠左,编辑字样出现在靠右,一般思路的话一定是认为通过<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 class="right">
其实百度是XX!!
</span>
谷歌会稍微x一些,博客小子。
</div>

第二:把文本也设成float
如:

复制代码代码如下:
<div>
<span class="right">
其实百度是xx!!
</span>
<span class="left">
谷歌会稍微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。
上一篇:纯CSS图片预加载实例 摆脱Javascript预载的束缚
下一篇:css 细线表格 css制作table细线表格常用属性
一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?