认识display:inline;与float:left;

一.    

首先我们要明确,display:inline;与float:left;正确含义。display:inline;(内联)《CSS权威指南》中文字显示:任何不是块级元素的可见元素都是内联元素。其表现的特性是“行布局”形式,这里的“行布局”的意思就是说其表现形式始终以行进行显示。比如,我们设定一个内联元素border-bottom:1px solid #000;时其表现是以每行进行重复,每一行下方都会有一条黑色的细线。如果是块级元素那么所显示的的黑线只会在块的下方出现。

     

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>span</title>

</head>

<body>
	<span style="border-bottom:1px solid #000;">
    	span默认样式为:display:inline;<br />
        设置边框样式为border-bottom:1px solid #000;<br/>	
        每行显示出来都会有下划线
    </span>
</body>
</html>

 

  效果如下:

span默认样式为:display:inline;
设置边框样式为border-bottom:1px solid #000;
每行显示出来都会有下划线

 

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>

</head>

<body>
	<span style="border-bottom:1px solid #000; display:block;">
    	span默认样式为:display:inline;,但现在修改为:display:block<br />
                设置边框样式为border-bottom:1px solid #000;<br/>	
                  整个块下方出现下划线
    </span>
</body>
</html>

 

    当然这看起来不像是display:inline;与float:left;的区别所在,但是当理解了float:left;的特性那么我们就清楚到底是怎么回事了。float:left;(左浮动)他使得指定元素脱离普通的文档流而产生的特别的布局特性。并且FLOAT必需应用在块级元素之上,也就是说浮动并不应用于内联标签。或者换句话来说当应用了FLOAT那么这个元素将被指定为块级元素。   那么我们很清楚了,内联(display:inline;)元素不能设置宽高,因为内联属于行布局,其特性是在一行里进行布局,所以不能被设定宽高。

        当定义了样式display:block或者为float:left时可以设置宽高

      

      

二.    

在实际应用中:例

 

      这样做就不能把a设置为display:block; 如果设置了就会以块形式显示

    a 的默认是display:inline;  在不需要对a加背景的时候可以用以下方式实现列表居中

     

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>内联样式应用</title>
<style type="text/css">
*{margin:0; padding:0;}
div{ text-align:center; background:#CCC; padding:9px 0; width:900px; margin:0 auto;}
li{ list-style:none; display:inline;}
a{ padding:0 10px; color:#900; text-decoration:none;}
a:hover{ color:#C30;}



</style>

</head>

<body>
<div>
	<ul>
    	<li><a href="javascript:;">公司介绍</a></li>
        <li><a href="javascript:;">公司产品</a></li>
        <li><a href="javascript:;">公司新闻</a></li>
        <li><a href="javascript:;">服务中心</a></li>
        <li><a href="javascript:;">留言板</a></li>
    </ul>
</div>
</body>
</html>

 

  

三.    

li 使用float 更加灵活

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>内联样式应用</title>
<style type="text/css">
*{margin:0; padding:0;}

div{  background:#CCC; width:1000px; overflow:hidden; position:relative; margin:0 auto;}
ul{ position:relative; left:50%; float:left;}
li{ position: relative;list-style:none; float:left; right:50%;}
a{ padding:6px 10px; color:#900; text-decoration:none; display:block; }
a:hover{ color:#fff; background:#F93;}



</style>

</head>

<body>
<div>
	<ul>
    	<li><a href="javascript:;">公司介绍</a></li>
        <li><a href="javascript:;">公司产品</a></li>
        <li><a href="javascript:;">公司新闻</a></li>
        <li><a href="javascript:;">服务中心</a></li>
        <li><a href="javascript:;">留言板</a></li>                
    </ul>
</div> 
 </body>
</html>

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值