IE7下position:relative与overflow的问题

问题描述:

父容器设置overflow:auto;子元素设置属性position:relative;在ie6、ie7中该子元素不随滚动条滚动。

解决办法:

给设置了overflow:auto属性的父容器也加上position:relative。

下面贴出代码:

<div style="width:200px;height:300px; overflow:auto;">
	<div style="width:100px;height:500px;">
		<p>ie7动</p>
		<p style="position:relative;">position:relative;ie7不动</p>
		<p>ie7动</p>
	</div>
</div>

图片对比:

扩大checkbox的响应区

昨天做了一个信息订阅设置的页面,页面中有一个复选框选择订阅的内容。选择过程中总是感觉复选框好难点,选不中!热区太小!

html用的是table,代码片段:

<tr>

<td>订阅每日餐饮团购信息</td>

<td class=“cell-cbx”><input type=”checkbox” /></td>

<td class=“cell-cbx”><input type=”checkbox” /></td>

</tr>

样式如图所示:

扩大的思想是,点击外层的单元格时就像点击了复选框一样。点击单元格,根据checkbox的状态,进行反向选择。感觉麻烦,我在这里用了trigger方法让复选框做一个click动作,这样的话就要阻止事件的冒泡,所以使用了stopPropagation方法。代码如下:

$(“table td.cell-cbx”).click(

function(event){

$(this).find(“:checkbox”)

.click(function(event){event.stopPropagation();})

.trigger(“click”);

})

这样一来,复选框的响应区就被扩大了。我这个想法来自于一篇扩大a链接的响应热区,如有不正确的地方欢迎批评。

电脑健康色怎么调

把光标放到桌面空白处-右击-属性-外观-高级-点“项目”下拉框-窗口-颜色-其它-调整(色调:85,饱和度:123,亮度:205)

表单元素对齐 input与文字对齐

默认在12px字体下讨论,也没有使用*padding margin置零。

1.checkbox与文字对齐

一般我使用tahoma字体,然后设置label,checkbox的vertical-align为middle来对齐。在lineheight是1的时候没有什么问题,所测试主流浏览器均可以完美对齐。如下图:

checkbox与文字完美对齐

但是默认行距或者较小的行距有时候并不能满足需求,非纯文本的元素在ie6下line-height无效(见下图),还发现如果设置了偶数的行高,ie8下文字会向下偏离1px。

ie6-lineheight无效

这个时候考虑设置checkbox的高或者margin。因为ie7下checkbox的默认样式与其他浏览器不同,为了达到一致干脆重新定义checkbox的宽高。另外要注意:保证checkbox的高度+上下margin=奇数!不然,ie8下文字会偏下1px。下图,ie6下模拟了行间距:

ie6 margin模拟行间距

查看demo:checkbox与文字对齐.html

IE6下absolute定位相差1px的bug

 

今天写css,用1px宽高的元素定位到某个元素的四周来模拟圆角,结果发现了ie6下position:absolute定位时偏离1px,百思不得其解!可恨的是两个div里面同样的定位方法,偏偏一个偏离一个不偏离。经过仔细比较,发现一个宽度是“奇数”一个是“偶数”,把宽度改成偶数,偏离消失了,原来如此!

宽度是奇数时1px的偏差(高度奇数同理)

回家上网看看了,果然是这个原因!IE6下的absolute定位的父层的width和height为奇数导致的BUG。解决办法也就是将父层的width和height设置成偶数,或者给ie6写个-1px的hack。

Hello Uiblog

hello,这是我的新博客,等我把资料寄过去域名就能解析了uiblog.cn。

开通这个博客一方面跟随了大多数前辈门的做法,一方面是为了记录自己在前端中遇到的问题,如何解决的,一方面把自己知道的东西拿出来跟大家探讨。

之前做.net的时候,碰到什么问题都会记录在曾经的百度博客(http://hi.baidu.com/hbjinzhao/home)上。曾经的工作前台后台一起做,记录着.net技术、数据库技术、前端技术等等,现在我只想专注前端,认真学习前端技术,做一个前端开发者。

踏踏实实做人,认认真真做事。