定位后无法选择容器内容解决方案


很神奇的一个晚上,居然在以前老同事的群里跟同事讨论起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>

本文作者:
« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3