<span> 标签是被用来组合文档中的行内元素。相信对一般的网页设计师来讲是非常熟悉的朋友了,使用相当频繁,但我们往往很少对SPAN设定样式,一般也没什么必要,大多数都留给DIV老朋友了。

在做"善良公社"项目时,用到了SPAN,因为是用来实现放块效果,所以给它定义了固定宽度,本以为胸有成竹的事,可执行网页时发现设定的宽度没有效果,让我郁闷了几分钟,看似很简单的样式定义尽然是无效。后来网上搜索了相关资料,是这么解释的:

CSS中的width属性并不总是有效的,如果对象是inline对象,width属性就会被忽略。Firefox和IE原来是遵循了标准才这样做的。

原因知道后,解决方案也就出来了,添加代码所示:

style="width:600px;text-align:left;display:inline-block;"

效果对比

下面对<span>标签进行一下详细介绍。

原始代码:

<style type="text/css">
.sc {
width: 300px;
list-style: none;
font-size: 15px;
} .sc li {
list-style: none;
width: 100%;
margin: 10px 0px 0px 0px;
} .sc span {
width: 100px;
text-align: center;
display: inline-block;
background: #C00;
color: #FFF;
}
</style>
<div class="sa">
<span>张连海</span>
<span>张 连 海</span>
</div>

效果如下:

一、形如<span>ABC</span>独立行设置SPAN为固定宽度

方法如下:

span {width:60px;text-align:center; display:block; }

测试实例:

<style type="text/css">
.sa span {
width: 100px;
text-align: center;
display: block;
background: #C00;
margin: 10px 0px 0px 0px;
color: #FFF;
font-size: 15px;
}
</style>
<div class="sa">
<span>张连海</span>
<span>张 连 海</span>
</div>

测试效果:

二、形如<span>ABC</span>DEF格式行设置SPAN为固定宽度

方法如下:

span{width:60px; text-align:center;  display:block;float:left;}

测试实例:

<style type="text/css">
.sb {
width: 300px;
list-style: none;
font-size: 15px;
} .sb li {
list-style: none;
width: 100%;
margin: 10px 0px 0px 0px;
} .sb span {
width: 100px;
text-align: center;
  display:block;
float: left;
background: #C00;
color: #FFF;
}
</style>
<ul class="sb">
<li><span>张连海</span>博客</li>
<li><span>张 连 海</span>欢 迎 光 临</li>
</ul>

测试效果:

三、形如ABC<span>DEF</span>GH格式行设置SPAN为固定宽度

方法如下:

span{width:60px; text-align:center; display:inline-block;}

测试实例:

<style type="text/css">
.sc {
width: 300px;
list-style: none;
font-size: 15px;
} .sc li {
list-style: none;
width: 100%;
margin: 10px 0px 0px 0px;
} .sc span {
width: 100px;
text-align: center;
display: inline-block;
background: #C00;
color: #FFF;
}
</style>
<ul class="sc">
<li>Welcome to <span>张连海</span>博客</li>
<li>Welcome to <span>张 连 海</span>欢 迎 光 临</li>
</ul>

测试效果:

提示:完美兼容就是把display属性设为inline-block,同时也可兼容前两种情况。

四、block,inline,inline-block之间区别

display:block;——类似与DIV标签的宽高边距等属性均可定制的元素特性;

display:inline;——类似与<a>、<strong>标签的宽高等属性不可定制的元素特性;

display:inline-block;——“全”可定制属性的元素特性;

五、如何设置让SPANfloat:right不换行

1、如何让<li>AAA<span>BBB</span></li>里头的BBB靠右对齐且不换行?

如果对span使用float属性,在IE6下会导致span换到下一行,Firefox则正常。可以采用下面相对定位方法实现同行且居右对齐,即可实现。

li {position:relative;}
li span{position:absolute;right:0px;}

2、反着写<span>也比较方便

比如写做<li><span>AAA</span>BBB</li>,这样把AAA放到SPAN里,BBB放到外面。只需要:

li {text-align:right;}
li span{float:left;}

span设置固定宽度的更多相关文章

  1. 实现span设置宽度(行内元素本来不支持调宽度高度这些样式)(变成行内块元素:display:inline-block;)

    实现span设置宽度(行内元素本来不支持调宽度高度这些样式)(变成行内块元素:display:inline-block;) 一.总结 1.将span从行内元素变成行内快元素就可以调了: 设置样式的时候 ...

  2. 如何给span设置高度宽度?

    内容提要:给Span设置高度和宽度后没有作用.本文介绍了如何如何给span设置高度宽度. CSS模型中经常用的容器是DIV和span. 给Span设置高度和宽度后没有作用. <style typ ...

  3. 关于label和span设置width无效问题解决方法

    转:http://www.jb51.net/web/113507.html 大家可能不知道默认情况下label.span 设置width 是无效的,只有当display:block时,我们所设置的wi ...

  4. span设置宽度有效无效问题

    在html中如何设定span的宽度?这看上去是个很简单的问题,似乎用style中的width属性就可以.例如, <!DOCTYPE html PUBLIC "-//W3C//DTD X ...

  5. 解决bootstrap row span设置border换行的问题

    Hadoop方面的毕业设计告一段落了,趁这几天空闲时间认真学习一下之前常使用但是却没用好的Bootstrap. 本文记录Bootstrap框架使用栅格系统时,遇到row内的span设置border换行 ...

  6. 利用span设置文字固定宽度

    <input type="radio" name="dispMode" id="rdoManul" value="manul ...

  7. 对span设置鼠标光标样式

    <html> <body> <p>请把鼠标移动到单词上,可以看到鼠标指针发生变化:</p> <span style="cursor:au ...

  8. 父元素设置固定宽度并设置overflow:scroll,如何让子元素撑开父元素

    <div class="a"> <div class="b"> <div class="c">内容内容, ...

  9. table表格 td设置固定宽度

    table宽度自适应,而且部分TD是固定宽度. 只需要将固定宽设死,留下一列不设置宽度,将table宽度设置为100%. table-layout:fixed 作用不是很清楚 <table wi ...

随机推荐

  1. BZOJ 1858: [Scoi2010]序列操作( 线段树 )

    略恶心的线段树...不过只要弄清楚了AC应该不难.... ---------------------------------------------------------------- #inclu ...

  2. 兼容性问题( css)

    记录平时遇见的兼容性问题,有更好的解决办法希望各位提出,会持续更新 提出时间 问题描述 解决方案 2014/7/15 table下面使用img或者其他元素例如embed会产生,对应的空隙,假如使用文字 ...

  3. Mirantis OpenStack HA

    Mysql使用Galera做Active/Active集群,同时使用Pacemaker,因为Galera mysql用到了领导机选举机制quorum,所以控制节点至少三个 RabbitMQ使用mirr ...

  4. nginx前端负载,后端apache获取真实IP设置

    原文链接: nginx前端负载,后端apache获取真实IP设置 参考文献: 前端Nginx,后端Apache获取用户真实IP地址  按照第二种方法设置不成功! 网站最前端是nginx,做的PROXY ...

  5. 【翻译自mos文章】当指定asm disk 为FRA时,11.2.0.3的dbua hang住

    当指定asm disk 为FRA时.11.2.0.3的dbua hang住 来源于: 11.2.0.3 DBUA Hangs While Specifying ASM Disk To FRA (文档 ...

  6. Verilog之case语句

    verilog设计进阶 时间:2014年5月6日星期二 主要收获: 1.学会使用case语句: 2.学会使用随机函数$random. $random: 1.函数说明:$random函数调用时返回一个3 ...

  7. C++静态库中使用_declspec(dllexport) 不能导出函数的问题

    在某项目中,有一些静态库,这些静态库中有类型命名的函数GET_XXX.在一次项目结构调整的时候,我想将调用这静态库的代码编译成DLL,并且将这些Get函数导出,我就直接就这些函数前面添加了_decls ...

  8. 分享非常有用的Java程序(关键代码)(八)---Java InputStream读取网络响应Response数据的方法!(重要)

    原文:分享非常有用的Java程序(关键代码)(八)---Java InputStream读取网络响应Response数据的方法!(重要) Java InputStream读取数据问题 ======== ...

  9. JVM调优总结(四)-垃圾回收面临的问题

    如何区分垃圾 上面说到的“引用计数”法,通过统计控制生成对象和删除对象时的引用数来判断.垃圾回收程序收集计数为0的对象即可.但是这种方法无法解决循环引用.所以,后来实现的垃圾判断算法中,都是从程序运行 ...

  10. Windows Azure 社区新闻综述(#78 版)

    欢迎查看最新版本的每周综述,其中包含有关云计算和 Windows Azure 的社区推动新闻.内容和对话.以下是本周的亮点. 博客文章: 博客:Windows Azure BizTalk 服务:如何开 ...