2012-07-28 169 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