2012-07-28 168 views
14

文本选择因填充而导致在任一侧突出显示太多。文本选择突出显示太多

Text Selection Example

http://jsfiddle.net/JamesKyle/pA7BJ/

如何解决这个使用CSS?我试过了一堆不同的东西,其中没有一件看起来可行。 (即试图使用保证金和其他财产)。

我已经遇到过这个问题多次,从来没有能够弄明白。

如果有人能告诉我如何解决这个问题,也许可以解释如何计算文本选择高亮,我将非常感激。

看来,这不是发生在Firefox/Opera(不能测试IE),它可能只限于基于webkit的浏览器。

解决:

添加position: relative任何填充元素(这可能是一个错误的WebKit)。

http://jsfiddle.net/JamesKyle/ejfsM/

+0

什么浏览器?在Firefox 14和IE9中,我得到了正常的选择,即选择文本的正常方式。在Chrome最新版本中,我会看到您的图片显示的内容。 – 2012-07-28 19:29:56

+0

我相信突出显示是由浏览器处理的。我猜你正在使用Chrome。如果您使用Firefox尝试相同的功能,您会注意到只有文本被突出显示。 – Zhihao 2012-07-28 19:29:57

+0

好吧,我如何让它在整个浏览器(包括webkit)中保持一致? – 2012-07-28 19:31:14

回答

8

这很奇怪。但是,更改CSS位置似乎工作,例如:

div.sizing-container { 
    padding: 75px; 
    position: relative; 
} 

http://jsfiddle.net/LJLdW/

不知道,在您的情况是可能的。

+0

当然很奇怪。按照你的说法设置它,然后重置,并且它仍然有效。尝试在'h1'上,'h1'和第一个'p'之间的差距仍然存在问题:http://jsfiddle.net/pA7BJ/18/ – 2012-07-28 19:45:49

+0

将包装器设置为相对于我而言:http:/ /jsfiddle.net/LJLdW/ – 2012-07-28 19:48:38

+0

这似乎确定了它。 – 2012-07-28 19:51:38

0

更改的div.sizing-container75px 0px 75px 0px填充会解决这个问题。 由于此元素上的填充,突出显示非常大。

然后,你需要更改地址:

width: 93%; 
padding-left: 3%; 

身体。然后添加10px填充到.sizing-container

为我修复它。这就是我所能说的。

+0

这真的不是一个解决方案... – 2012-07-28 19:35:44

+0

好吧,这不是坏事。对不起,至少我试过了。 – Shawn31313 2012-07-28 19:39:50