Javascript 如何使用css降低文本选择背景的高度?

Javascript 如何使用css降低文本选择背景的高度?,javascript,html,jquery,css,Javascript,Html,Jquery,Css,$('#description').mouseup(函数(e){ textSelected=window.getSelection().getRangeAt(0).extractContents() var span=document.createElement(“span”); span.style.backgroundColor=“黄色”; span.appendChild(textSelected); window.getSelection().getRangeAt(0).insertNo

$('#description').mouseup(函数(e){
textSelected=window.getSelection().getRangeAt(0).extractContents()
var span=document.createElement(“span”);
span.style.backgroundColor=“黄色”;
span.appendChild(textSelected);
window.getSelection().getRangeAt(0).insertNode(span);
})
#说明{
线高:4em;
}

Lorem ipsum dolor sit amet,是一位杰出的献身者。我们是狮子座的人,我们是邪恶的人。我是亨德雷特·特鲁斯,我是马蒂斯·莫里斯·乌尔特里斯·维尔。Sed iaculis leo坐在amet laoreet posuere旁边。
好的,试试看

    <div id='description'>
    <span>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</span> 
    <span>Fusce ut egestas leo, nec ultricies purus.</span> 
    <span>Cras hendrerit ex tellus, ut mattis mauris ultrices vel. Sed iaculis leo sit amet laoreet posuere.</span>
    </div>

#description span{
display:inline-block;
margin-bottom:20px;
}

Lorem ipsum dolor sit amet,是一位杰出的献身者。
我们是狮子座的人,我们是邪恶的人。
我是亨德雷特·特鲁斯,我是马蒂斯·莫里斯·乌尔特里斯·维尔。塞德·亚库利斯·利奥坐在阿梅特·拉奥里特·波苏尔旁边。
#描述跨度{
显示:内联块;
边缘底部:20px;
}
所以,您可以在行之间设置空格,但如果可能,您需要将其包装在标记内! 并更改空格,而不是使用边距的线条高度

好的,试试看

    <div id='description'>
    <span>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</span> 
    <span>Fusce ut egestas leo, nec ultricies purus.</span> 
    <span>Cras hendrerit ex tellus, ut mattis mauris ultrices vel. Sed iaculis leo sit amet laoreet posuere.</span>
    </div>

#description span{
display:inline-block;
margin-bottom:20px;
}

Lorem ipsum dolor sit amet,是一位杰出的献身者。
我们是狮子座的人,我们是邪恶的人。
我是亨德雷特·特鲁斯,我是马蒂斯·莫里斯·乌尔特里斯·维尔。塞德·亚库利斯·利奥坐在阿梅特·拉奥里特·波苏尔旁边。
#描述跨度{
显示:内联块;
边缘底部:20px;
}
所以,您可以在行之间设置空格,但如果可能,您需要将其包装在标记内!
并更改空格,而不是使用边距的线条高度

使用纯CSS,您无法将
行高度和
::选择
。仅允许选择少数属性:

您的逻辑正确,但是
:selection
应该是
::selection
。如果你 更改后,默认选择背景将完全消失

::选择{
文本阴影:1px 1px 2px#b040b0;
}
::selection
是一个伪元素,而不是伪类。它需要两个冒号 (
),与只需要一个()的伪类不同

因为您已经使用JavaScript用
和 高亮显示它们,现在唯一的视觉样式将是您的黄色高亮显示和 新的文本阴影

关于可访问性和用户体验的说明:

我不知道你在建什么,也不知道是给谁建的,但我觉得有必要提一下 这里有几点

注意考虑用户界面的颜色对比度。黄色 与白色的对比将在很大程度上无法区分 人口:

另一方面,考虑将使用您的界面的人。如果他们 突出显示一些文本,他们会理解文本阴影代表 浏览器选择与黄色突出显示是其他内容?他们会吗 请理解,高亮显示的黄色文本不是它们被复制时要复制的文本 按Control-c?(等等)

同样,这可能不适用于你的情况,但这些东西很难保持
当你在制作很酷的东西时,请记住。

使用纯CSS,你不能将
行高度和
::选择
。仅允许选择少数属性:

您的逻辑正确,但是
:selection
应该是
::selection
。如果你 更改后,默认选择背景将完全消失

::选择{
文本阴影:1px 1px 2px#b040b0;
}
::selection
是一个伪元素,而不是伪类。它需要两个冒号 (
),与只需要一个()的伪类不同

因为您已经使用JavaScript用
和 高亮显示它们,现在唯一的视觉样式将是您的黄色高亮显示和 新的文本阴影

关于可访问性和用户体验的说明:

我不知道你在建什么,也不知道是给谁建的,但我觉得有必要提一下 这里有几点

注意考虑用户界面的颜色对比度。黄色 与白色的对比将在很大程度上无法区分 人口:

另一方面,考虑将使用您的界面的人。如果他们 突出显示一些文本,他们会理解文本阴影代表 浏览器选择与黄色突出显示是其他内容?他们会吗 请理解,高亮显示的黄色文本不是它们被复制时要复制的文本 按Control-c?(等等)

同样,这可能不适用于你的情况,但这些东西很难保持 当你在建造酷炫的东西时,请记住这一点