对display:inline与float:left正确含义的认识!

  首先我们要明确,display:inline;与float:left;正确含义。display:inline;(内联)《CSS权威指南》中文字显示:任何不是块级元素的可见元素都是内联元素。其表现的特性是“行布局”形式,这里的“行布局”的意思就是说其表现形式始终以行进行显示。比如,我们设定一个内联元素border-bottom:1px solid #000;时其表现是以每行进行重复,每一行下方都会有一条黑色的细线。如果是块级元素那么所显示的的黑线只会在块的下方出现。
  当然这看起来不像是display:inline;与float:left;的区别所在,但是当理解了float:left;的特性那么我们就清楚到底是怎么回事了。float:left;(左浮动)他使得指定元素脱离普通的文档流而产生的特别的布局特性。并且FLOAT必需应用在块级元素之上,也就是说浮动并不应用于内联标签。或者换句话来说当应用了FLOAT那么这个元素将被指定为块级元素。
  那么我们很清楚了,内联(display:inline;)元素不能设置宽高,因为内联属于行布局,其特性是在一行里进行布局,所以不能被设定宽高。

下面是一些转化的例子!

 

 代码如下 复制代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>float &inline</title><style>*{text-align:center;padding:4px;}div,p{text-align:left;}span{/*float:right;*/ background:#f5f5f5;border-left:1px #eee solid;border-top:1px #eee solid;border-right:1px #ccc solid;border-bottom:1px #ccc solid;}ul#inline li{ display:inline; list-style:none;border-left:1px #ccc solid;width:300px; background:#f5f5f5;/* float:left*/;}ul#float li{ float:left;display:inline; list-style:none;border-left:1px #666 solid;width:300px; background:#f5f5f5; }</style></head><body><span style="width:300px;">span为内联/inline元素,给他宽度赋值是没有效果的。</span><span style="width:100px; float:right;">span为内联/inline元素,给他宽度赋值100px+float:right;可以看到有了宽度。</span><div><p>这个li被定义为内联/inline,设置宽度没有效果</p><ul id="inline"><li>test</li><li>test</li></ul></div><div><p>这个li被定义为内联/inline+float:left,设置宽度有效果</p><ul id="float"><li>test</li><li>test</li></ul></div></body></html>
时间: 2024-12-22 15:26:51

对display:inline与float:left正确含义的认识!的相关文章

display:inline与float:left的正确解释

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

对display:inline;与float:left;的认识

这样的题目显得有点可笑,但是鉴于很多网友在标准学习的过程中常被这样的问题所困扰(例一.例二),所以特此专文澄清两者之间的区别与特性. 首先我们要明确,display:inline;与float:left;正确含义.display:inline;(内联)<CSS权威指南>中文字显示:任何不是块级元素的可见元素都是内联元素.其表现的特性是"行布局"形式,这里的"行布局"的意思就是说其表现形式始终以行进行显示.比如,我们设定一个内联元素border-botto

澄清display:inline;与float:left;的用途

这样的题目显得有点可笑,但是鉴于很多网友在标准学习的过程中常被这样的问题所困扰(例一.例二),所以特此专文澄清两者之间的区别与特性. 首先我们要明确,display:inline;与float:left;正确含义.display:inline;(内联)<CSS权威指南>中文字显示:任何不是块级元素的可见元素都是内联元素.其表现的特性是"行布局"形式,这里的"行布局"的意思就是说其表现形式始终以行进行显示.比如,我们设定一个内联元素border-botto

display:inline;与float:left;的用途

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

对display:inline;与float:left;的认识_CSS/HTML

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

css display:inline 防止html元素变成块元素

 css中,display:none; 的作用是让html元素隐藏,反之让其显示,通常使用 display:block;.但 display:block; 的另一个作用是,让当前html元素变成块元素.  像 <select>/<input>/<span> 等元素都属于占位元素,也就是说,这几个元素写在一起,但只占一行.而 <div>/<h1>/<h2>/ 等,都会独自占用一行.  现在有这么一个需求:在使用 display:none

diaplay:none display:inline div显示隐藏问题

问题描述 一个HTML中存在几个div我需要第一个显示,其他几个先隐藏当我点击第一个div中的NEXT的按钮时,显示其中一个DIV.这个用js这么做啊? 问题补充:andilyliao 写道 解决方案 <html> <head> <script language="javascript"> function fun(j){ for(i=0;i<3;i++){ document.getElementById("div"+i).

JAVASCRIPT style 中visibility和display之间的区别_javascript技巧

当visibility被设置为"hidden"的时候,元素虽然被隐藏了,但它仍然占据它原来所在的位置. --------------------------------------------------------------- 例子: 复制代码 代码如下: <script language="JavaScript"> function toggleVisibility(me){ if (me.style.visibility=="hidde

CSS中基代码base.css一览

base.css顾名思义就是基代码的含义,主要就是重置浏览器默认样式的一个集合吧,在进行css布局时把它加进去将会提高书写效率,感兴趣的朋友可以参考下     复制代码 代码如下: /***** css set*****/ body, div, dl, dt, dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td{margin:0;padding:0;} table{border-col