有时候我们复制html到word,在word中会出现边框.
word提供了一个选择性粘贴方案,可以去掉样式,但是这不好,我们复制html,希望尽可能的包浏样式.
实际上会出现边框,是div层级的锅.
假设要复制的html元素是这样的:
<div id="container">
<h1>奥宏科技</h1>
<p>一切为了再生产个</p>
</div>
如果使用js的createRange
接口直接选择container
,执行复制,那么复制到word中,第二行开始会有一个边框,
经过我的测试,如果复制的时候,container
没有被复制走,里面的内容被复制了,那么不会出现边框.
问题明朗了,我们可以直接使用Range
对象选择里面的子类,但是在谷歌下比较麻烦,因为谷歌浏览器不能多次addRange
,其实这可以通过css控制,
给container
设置cssuser-select:none
,给container
的子类设置cssuser-select:all
,这样在执行复制的时候,container
不会被选中,里面的被选中,复制到word中就不会出现表格了.