• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
新能源汽车行业用户产品设计
新能源汽车行业、面向C端用户的产品设计
博客园    首页    新随笔       管理     

div & span and span & label——驳暴牙齿《大便蛔虫表单》demo中label的使用

<!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>
    
<title> div & span and span & label </title>
    
<meta name="Author" content="JustinYoung"/>
    
<meta name="Keywords" content="div span,div与span,div span 区别,span与div的区别,html span,span与label,span与label的区别"/>
    
<meta name="Description" content="A demo for Http://justinyoung.cnblogs.com"/>
    
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!--start of CSS style-->
<style type="text/css">
*
{
    font-size
:9pt;
}
h1
{
    font-size
:200%;
}

h3
{
    font-size
:120%;
}
#divForm
{
    border
:1px solid red;
    margin
:10px;
    padding
:10px;
    float
:left;
    clear
:both;
}

.divFormItem
{
    float
:left;
    clear
:both;
    margin
:10px 0;
}
#divArticle
{
    float
:left;
    clear
:both;
    margin
:10px;
    padding
:10px;
}
.style1 
{
    font-family
: "Courier New";
}
</style>
<!--end of CSS style-->


</head>

<body>
<h1>Div与Span以及Span与label</h1>
<h3>——驳暴牙齿《大便蛔虫表单》demo中label的使用</h3>
<div id="divArticle">
    
<pre>
div和span的争论由来已久,大家都感觉自己说的道理。我也不想在此说服谁,只提出我自己的观点。

倒是很多人忽视的lable和span,我要说上几句,虽然我不能保证自己的如何正确,但是“暴牙齿”
提供的那个“大便蛔虫的表单示例”里面的label我感觉一定是错误的。(注:我对暴牙齿没有任何敌
意,而且恰恰相反,我对他很感激,在我刚开始关注和学习web标准的时候,他的blog给了我很大的帮
助。)

先说div和span。按理说现在应该引用w3c的关于div和span的定义了。但是前人引来引去仍然让人云
里雾里。div作为分割文档结构自然使它最官方的语义,但是这样的官方语义太让人迷惑,大的结构还
好,但是小的地方到底是用div还是用span仍然让人迷惑。其实恰恰是《Microsoft MSDN Library》
里面的定义让人豁然开朗。

    div:指定渲染 HTML 的容器。
    span:指定内嵌文本容器。
    
一目了然:如果里面还有其他标签的时候就用div,如果里面只有文本的就应该用span。好了,关于
div和span我就发表这么多意见,一家之言。君自取之。

下面我们来重点说说label和span。首先我们来看看暴牙齿提供的那个demo里面的代码:
&lt;div&gt;
    
&lt;label&gt;姓名&lt;/label&gt;
    
&lt;input type="text" /&gt;
&lt;/div&gt;
&lt;div&gt;
    
&lt;label&gt;性别&lt;/label&gt;
    
&lt;input type="text" /&gt;
&lt;/div&gt;
&lt;div&gt;
    
&lt;label&gt;单位&lt;/label&gt;
    
&lt;input type="text" /&gt;
&lt;/div&gt;
&lt;div&gt;
    
&lt;label&gt;职务&lt;/label&gt;
    
&lt;input type="text" /&gt;
&lt;/div&gt;
&lt;div&gt;
    
&lt;label&gt;MSN号码&lt;/label&gt;
    
&lt;input type="text" /&gt;
&lt;/div&gt;
&lt;div&gt;
    
&lt;label&gt;QQ号码&lt;/label&gt;
    
&lt;input type="text" /&gt;
&lt;/div&gt;

“似乎没有问题,而且非常完美”,如果你这样说的话,多数是因为你是.net程序员。但是要知道此label
非彼label。
xhtml里面的label的真正语义应该是:为页面上的其它元素指定标签。请注意这里的“其他元素”,也就
是说,单独而没有指定服务对象(其他元素)的label是没有体现语义的。一直奇怪为什么.net的服务器控
件label“打到”前台以后是span。现在想想,如果不是span反而奇怪了。
那xhtml的label到底应该怎么用呢?你去vs2003(或者vs2005)拉一个radiobutton,看看它“打到”
前台的代码就知道了,或者看看下面这里例子:

注:水平有限,错误难免,请斧正之~谢谢!
    
</pre>

<div id="divForm">
<div class="divFormItem">
<span>Did you visited my blog:</span>
<input type="radio" id="radYes" name="visitedblog" checked="checked" /><label for="radYes">Yes</label>
<input type="radio" id="radNo" name="visitedblog"/><span><label for="radNo">No</label>(Press the text "Yes" or "No" not the radio)</span>
</div>
<div class="divFormItem">
<label accesskey="1" for="txtName">Your Name:</label><input type="text" id="txtName" value="Press Alt + 1"/>
</div>
</div>

</div>

</body>
</html>

keyword:div span,div与span,div span 区别,span与div的区别,html span,span与label,span与label的区别
posted @ 2007-06-07 19:53  阿一(杨正祎)  阅读(2541)  评论(12)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3