• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >CSS > 关于html元素的 width属性无效果的解决方法

关于html元素的 width属性无效果的解决方法

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-08-06

本文主要包含html,width等相关知识,佚名 希望在学习及工作中可以帮助到您
1.关于元素的 width属性无效果
先运行下程序看下:


<span style='background-color:#336699;width:300px;'>123</span>
提示:您可以先修改部分代码再运行
可以看到 span会自动根据包含的内容来变化宽度
这是因为:对于内联元素(可以是默认即为内联的比如 span 元素,也可以是 display: inline 的元素)
width 和 height 只在 IE5.x 下和 IE6 或更新版本的 quirks 模式下触发 hasLayout 。而对于 IE6,如果浏览器运行于标准兼容模式下,内联元素会忽略 width 或 height 属性,所以设置 width 或 height 不能在此种情况下令该元素具有 layout。
具有“layout” 的元素如果同时也 display: inline ,那么它的行为就和标准中所说的 inline-block 很类似了:在段落中和普通文字一样在水平方向和连续排列,受 vertical-align 影响,并且大小可以根据内容自适应调整。这也可以解释为什么单单在 IE/Win 中内联元素可以包含块级元素而少出问题,因为在别的浏览器中 display: inline 就是内联,不像 IE/Win 一旦内联元素拥有 layout 还会变成 inline-block。
解决方法:
<1>去掉ASP.NET页面的W3C标准声明(不推荐):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<span style='background-color:#336699;width:300px;'>123</span>
<2>推荐:
如果设置display:block,width属性生效,但是此时的span跟div一样了。
如果设置display:inline-block,则span并列在同行,而且width属性生效。

元素display属性的常见值说明:
block:块对象的默认值。将对象强制作为块对象呈递,为对象之后添加新行。
inline:内联对象的默认值。将对象强制作为内联对象呈递,从对象中删除行。(内联)《CSS权威指南》中文字显示:任何不是块级元素的可见元素都是内联元素。其表现的特性是“行布局”形式,这里的“行布局”的意思就是说其表现形式始终以行进行显示。比如,我们设定一个内联元素border-bottom:1px solid #000;时其表现是以每行进行重复,每一行下方都会有一条黑色的细线。假如是块级元素那么所显示的的黑线只会在块的下方出现。
inline-block:将对象呈递为内联对象,但是对象的内容作为块对象呈递。旁边的内联对象会被呈递在同一行内。
non:隐藏对象。与 visibility 属性的hidden值不同,其不为被隐藏的对象保留其物理空间。
内联(display:inline;)元素不能设置宽高,因为内联属于行布局,其特性是在一行里进行布局,所以不能被设定宽高。
<span style='background-color:#336699;width:300px;
display:inline-block;'>123</span>

<3>如果设置float:left | right,width属性生效.
(浮动)他使得指定元素脱离普通的文档流而产生的非凡的布局特性。并且FLOAT必需应用在块级元素之上,也就是说浮动并不应用于内联标签。或者换句话来说当应用了FLOAT那么这个元素将被指定为块级元素。
<span style='background-color:#336699;width:300px;float:left;'>123</span>
2.Css display:inline属性与float的区别
Display:inline;属性的作用就是使块级元素变成行内元素,比如p这样的,设置inline属性以后,就会不再单独占据一行的位置了。不过使用float 属性页同样可以实现这样的效果。 (关于行内元素和块级元素请看行内元素和块级元素)
当元素设置成为inline属性,变成行内元素以后,设置width属性也就没有效果了。
看完display:inline对块级元素的影响以后,我们再来看看float对行内元素的影响
也就是当行内元素设置float属性以后,实际上他已经认为他是块级元素了,可以设置 width属性了

您可能想查找下面的文章:

  • 利用HTML5+CSS3实现3D转换效果实例详解
  • 常见CSS与HTML使用误区详解
  • HTML5+CSS3实例 :canvas 模拟实现电子彩票刮刮乐代码
  • HTML CSS样式基础(必看篇)
  • 浅谈HTML(css基础样式)
  • html+css+div实现电影结束效果
  • 用CSS3打造HTML5的Logo(实现代码)
  • Div+CSS对HTML的table表格定位用法实例
  • 纯html+css制作三级下拉菜单
  • 基于DOM+CSS3实现OrgChart组织结构图插件

相关文章

  • 2017-08-06学习web标准的十个重要理由总结
  • 2017-08-06IE6盒子模型没问题 详测双倍边距
  • 2017-08-06对网页中层的固定实现代码
  • 2017-08-06CSS 网页布局中的图文列表实现代码
  • 2017-08-06css hack总结 图片整理版
  • 2017-08-06学习CSS需要知道的CSS基础知识
  • 2017-08-06css样式表中中文名字体乱码使用Unicode可解决
  • 2017-08-06动态的样式表lesscss:简单学习lesscss语法
  • 2017-08-06css教程之样式表的基本语法(二) class(类)和id的一个小实例
  • 2017-08-06CSS实现段落首行缩进两个字符不再使用空格

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • css 调试方法与经验总结
    • 四种css 伪类选择器
    • CSS实现带倒三角标记的WEB标准菜单效果代码
    • 今天学到的CSS最新技术(与图片背景相关)
    • CSS中文字体对应的英文写法(常用整理)
    • 基于CSS制作天蓝色导航菜单
    • CSS写的简单表格示例
    • css关于position属性的用法详解(绝对定位和相对定位的混淆)
    • 详解CSS的Sass框架中代码注释的编写方法
    • CSS优先级和!important与IE6的BUG讨论及解决方案

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有