我正在制作一个网站,但在设计CSS时遇到了问题。它类似于这张图片所示的那个:
。
我该如何做才能让用户选择和阻止文本时,其右侧和左侧的区域不被选中?在我的情况下,我尝试将包含标签的文本(以及标签)包装在
![this pic](https://i.imgur.com/7SYwD.png)
我该如何做才能让用户选择和阻止文本时,其右侧和左侧的区域不被选中?在我的情况下,我尝试将包含标签的文本(以及
中,但我没有看到任何变化。
我遇到了同样的问题,即文本选择包括 div
元素内部的填充。我尝试了 @Joseph Marikle 的解决方案;然而,我有其他被浮动的元素,这些元素与浮动解决方案有问题,并且使用绝对定位不是一个选项。
然后,我尝试寻找从页面流中删除元素(在我的情况下为 p
元素)的方法。我看到了这个 SO question 并决定在我的 p
元素上尝试 相对定位,看起来可以产生预期的效果。
这里有一个 CodePen,演示了结果。第二个 p
元素应用了相对定位,并且文本选择被限制。
欢迎来到SO,mgunadi。
这里发生的情况是您有一个居中方法,留下了一个边距。当您在浏览器中突出显示文本时,它也会选择边距。通过改变内容居中的方式,可以在一定程度上解决这个问题。例如,如果您使用position:absolute
解决方案,则不需要此边距,并且在突出显示时不会被选择(演示:http://jsfiddle.net/FX45g/)。不幸的是,如果这不是一个选项,您必须使用边距来居中内容,那么这是一个浏览器问题,完全取决于特定浏览器的处理方式。
要使用定位居中内容,内容必须具有固定宽度(对于此示例为300px)。然后,您可以应用以下规则:
.centered
{
position:absolute;
left:50%;
margin-left:-150px;
}
找到了另一种方法。 :P 一个包装器!(借助浮动)
.wrapper{margin:0 auto; width:300px;}
.wrapper>div {float:left;}
CSS并不提供这个功能。这是浏览器本身的一个功能。