您现在的位置: 365建站网 > 365文章 > 定位后无法选择容器内容解决方案

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

文章来源:365jz.com     点击数:378    更新时间:2008-08-02 22:24   参与评论

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

如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛

发表评论 (378人查看0条评论)
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
昵称:
最新评论
------分隔线----------------------------

快速入口

· 365软件
· 杰创官网
· 建站工具
· 网站大全

其它栏目

· 建站教程
· 365学习

业务咨询

· 技术支持
· 服务时间:9:00-18:00
365建站网二维码

Powered by 365建站网 RSS地图 HTML地图

copyright © 2013-2024 版权所有 鄂ICP备17013400号