很神奇的一个晚上,居然在以前老同事的群里跟同事讨论起CSS的东西来了,不过很意外的还是有收获。在IE中常常会碰到如果将容器定位后,出现容器内的文字不可选择(测试的时候主要用带连接的文字)。
xhtml结构:
<div>
<a href="#">定位后无法选择容器的内容解决方案</a>
</div>
css样式:
div {
position:absolute;
top:100px;
left:100px;
width:200px;
height:200px;
border:1px solid red
}
HTML代码:
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="author" content="Linxz" />
<style type="text/css">
div {
position:absolute;
top:100px;
left:100px;
width:200px;
height:200px;
border:1px solid red
}
</style>
<title>定位后无法选择容器的内容解决方案</title>
</head>
<body>
<div>
<a href="#">定位后无法选择容器的内容解决方案</a>
</div>
</body>
</html>
请在IE中测试上面的代码,你会发现文字是无法选择的。
当时我想到的方法是在<a href="#">定位后无法选择容器的内容解决方案</a>后面加上一个 空格来引发这个选择,不过这样的话就多了一个字符,不是很好。
然后想到了在蓝色理想论坛中的一个帖子里有提到这个问题,在“[教程] web标准常见问题集合[不断更新]”这个帖子的第五个问题提到的解决方法是
引用内容
上面的问题在IE6、7中存在,解决问题的办法是让IE进入到quirks mode。关于quirks mode的相关知识,请参考:http://www.microsoft.com/china/msdn/library/webservices/asp.net/
ASPNETusStan.mspx?mfr=true
aoao:在IE6版本是6.0.2900.2180.xpsp_sp2.gdr.070227-2254好像依然存在问题,加了背景色依然无效。接着测试中。。。
但根据aoao说的在IE6版本是6.0.2900.2180.xpsp_sp2.gdr.070227-2254好像依然存在问题,加了背景色依然无效。,但我在IE6绿色版中测试后可行,IE7中也可以,如果哪位朋友是用这个版本的IE6的可以试一下
HTML代码:
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="author" content="Linxz" />
<style type="text/css">
div {
position:absolute;
top:100px;
left:100px;
width:200px;
height:200px;
border:1px solid red;
background:#FFFFFF;
}
</style>
<title>定位后无法选择容器的内容解决方案</title>
</head>
<body>
<div>
<a href="#">定位后无法选择容器的内容解决方案</a>
</div>
</body>
</html>
至于让使用IE的怪异模式的话,测试过,可行,但这样的话,就是对盒模型计算方式就不一样了,如果不习惯用怪异模式的同学要考虑一下。
后来,老同事“表哥”发了一个网址,是老外的,上面介绍的方法是通过
html, body{
width:100%;
height:100%;
margin:0px;
padding:0px;
}
来解决问题
参考:http://www.webmasterworld.com/forum83/6565.htm
后来测试,只要保留height:100%就可以了。
HTML代码:
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="author" content="Linxz" />
<style type="text/css">
html, body {height:100%;}
div {
position:absolute;
top:100px;
left:100px;
width:200px;
height:200px;
border:1px solid red;
}
</style>
<title>定位后无法选择容器的内容解决方案</title>
</head>
<body>
<div>
<a href="#">定位后无法选择容器的内容解决方案</a>
</div>
</body>
</html>
如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛