CSS 尺寸 (Dimension) 属性允许你控制元素的高度和宽度。同样,它允许你增加行间距。
height 属性用以设置元素的高度,单位可以使用px,em等,通常用使用PX(像素)为html单位。这个属性定义元素内容区的高度,在内容区外面可以增加内边距、边框和外边距。
设置段落的高度和宽度:
p{ height:100px; width:100px; }
height属性可能的值有:
line-height 属性设置行间的距离(行高)。该属性会影响行框的布局。在应用到一个块级元素时,它定义了该元素中基线之间的最小距离而不是最大距离。 line-height 与 font-size 的计算值之差(在 CSS 中成为“行间距”)分为两半,分别加到一个文本行内容的顶部和底部。可以包含这些内容的最小框就是行框。
设置段落的高度和行高:
p{ height:100px; line-height:100px; }
max-height 属性设置元素的最大高度。该属性值会对元素的高度设置一个最高限制。因此,元素可以比指定值矮,但不能比其高。不允许指定负值。
min-height 属性设置元素的最小高度。该属性值会对元素的高度设置一个最低限制。因此,元素可以比指定值高,但不能比其矮。不允许指定负值。
max-height和min-height 属性不包括外边距、边框和内边距。
p{ max-height:50px; }
对为什么需要设置max-height最大高度的解释:此属性较少使用,可能是为了避免内容太多将高度撑太高影响布局美化统一,这个时候我们设置最大高度限制。比如一个table tr td表格对象里装一个图片,而图片高度不确定,如果太高了不想图片撑破tr td表格,这个时候通过css max-height限制图片最大高度是有必要的。
设置min-height最小高度应用地方的解释:有时设置一个对象盒子时候避免对象没有内容时候不能撑开,但内容多少不能确定所以又不能固定高度,这个时候我们就会需要css来设置min-height最小高度撑高对象盒子。当内容少时候最小高度能将内容显示出,如果内容多余最小高度能装下时候,对象也会再随内容增多而增高。
IE6不支持max-height解决方法
1)使用css hack来解决
.box{ max-height:50px;_height:50px; }
2)还有直接使用以下CSS代码
.box{ height: expression(this.height> 50 ?50: true); max-height: 50px; }
但是此CSS代码会引起图片加载后不能正常显示(图片随机会被缩小无法正常显示),推荐使用max-height:50px;_height:50px;来解决IE6不能max属性的问题。
同理,推荐使用css hack来解决IE6不支持min-height的问题。
width 属性设置元素的宽度,这个属性定义元素内容区的宽度,在内容区外面可以增加内边距、边框和外边距。
传统Html 宽度属性单词:width 如width="300";
CSS 宽度属性单词:width 如width:300px;
width属性可能的值有:
max-width 定义元素的最大宽度。该属性值会对元素的宽度设置一个最高限制。因此,元素可以比指定值窄,但不能比其宽。不允许指定负值。
min-width 属性设置元素的最小宽度。该属性值会对元素的宽度设置一个最小限制。因此,元素可以比指定值宽,但不能比其窄。不允许指定负值。
最小宽度(min-width)与最大宽度(max-width)用于设置图片最小最大宽度限制比较多。比如一个图片为主列表,对象里图片大小不定时候,为了不想让他太小不统一这个时候我们可以使用css最小宽度样式。再如,一个盒子里有文章有图片混排的时候,有时图片宽度不能确定,这个时候如果html img图片宽度超出了div盒子宽度,可能图片就会撑破div盒子造成图片混乱。
设置段落的最大宽度:
p{ max-width:100px; }
设置段落的最小宽度:
p{ min-width:100px; }
Css max-width与css min-width可以同时在一个CSS选择器使用设置一个对象最大最小宽度样式。一般对图片对象设置此两项样式比较多。
IE6不支持max-width的解决方法
.box{max-width:1000px;_width:expression((document.documentElement.clientWidth||document.body.clientWidth)<1000?"1000px":"");overflow:hidden;}
说明:max-width:1000px; 这个是IE6以上级其它品牌浏览器支持最大范围宽度。而_width:expression((document.documentElement.clientWidth||document.body.clientWidth)<1000?"1000px":"");overflow:hidden;则是让IE6支持max-width替代CSS代码,但效果和其它版本浏览器相同效果。
IE6不支持min-width的解决方法
.box{min-width:1000px;_width:expression((document.documentElement.clientWidth||document.body.clientWidth)>1000?"1000px":"");}
让IE6都支持max-width和min-width的解决方法
用到CSS代码:_width:expression(this.scrollWidth > 620 ? "620px" : (this.scrollWidth < 1? "1px" : "auto"));
说明:不能超出大于620px的宽度,又不小于1像素的宽度。
习题1 | 习题2 | 习题3 | 习题4