span标签如何添加样式?span样式设置问题的解决方法

发布时间:2020-08-13编辑:脚本学堂
如何为span标签设置样式,这里分享了为span标签添加样式要注意的问题,为span元素添加的背景样式显示的宽度问题,以及span标签的样式在IE与FireFox中的差异等。

span标签样式设置教程

推荐:

一、为span标签添加样式

复制代码 代码示例:
<html>
<head>
<style>
.has_children{width:250px;color:white;}
.has_children a{float:left;width:250px;background:#6C3;}
.has_children span{background:red;width:250px;}
</style>
<title$amp;>amp;$lt;/title>
</head>
<body>
<div class="has_children">
<span>第1章-认识jquery</span>
<a>1.1-javascript和javascript库</a>
<a>1.2-加入jquery</a>
<a>1.3-编写简单jquery代码</a>
<a>1.4-jquery对象和dom对象</a>
<a>1.5-解决jquery和其它库的冲突</a>
<a>1.6-jquery开发工具和插件</a>
<a>1.7-小结</a>
</div>
<body>
</html>

二、为span元素添加的背景样式显示的宽度不是250px怎么办?而只是span标签中的字的背后区域才显示背景颜色?

span是内联元素,高宽度是由其内容来决定:
 

.has_children span{background:red;width:250px;}
修改为:
.has_children span{display:block;background:red;width:250px;}

div占用的位置是一行,span占用的是内容有多宽就占用多宽的空间距离:
 

.has_children span{background:red;width:250px;display:inline-block}

三、span样式无效怎么办? jquery为span赋值失效怎么办?

问题:span设置css样式不起作用

解决:
让span成块级元素显示,css样式才会起作用。
 

<span id='span_slide_container' style='display:block; overflow-y: auto; overflow-x: auto; height: 500px;'>

此处 display:block; 一定要加上,否则,span不起作用。

如果要定义span居中,必须先让span成块级元素显示,也就是说,要先定义span的display:block;属性,然后再给span添加边距属性margin:0px auto;这样就能达到你想要的效果了。span的属性很多,几乎所有标签的属性都可以定义在span上,只是很多属性都必须在span成块级元素时菜其作用,span本身只是为了补充a标签的作用,是一个辅助标签,一般只能识别对文字的样式的你故意,所以如果想给span标签定义更多的其他样式属性,你就必须先给span加上块级属性,也就说添加display:block;属性,这样以后你的样式就可以起作用了

四、这里顺带介绍下span标签的样式在IE与FireFox中的差异
 

复制代码 代码示例:
<span class="ImgNavigationLeft"></span>
.ImgNavigationLeft {
 BACKGROUND-IMAGE: url(../images/navigation_left.gif); WIDTH: 24px; HEIGHT: 31px;
}

在IE中,可以直接显示span的样式。可是在fireFox中,span的宽度会随着其内容的变化而变化。
在这里span没有内容,所以从页面上看,好像span标签不存在一样,设的背景图所以也不会显示出来。

display:block加上这句话后,即可解决问题。
(display:block在firefox opera 中会让span标签后的内容换行,而在IE中则不会。如果不想让其换行,可以更改为:display:inline-block)