- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
每当任何文本位于带有 sidebar
类的范围内时,我都会尝试将侧边栏添加到输出 PDF 的左边缘。我遇到的主要问题是,当文本跨度运行多行时,在 wkhtmltopdf 中计算跨度的高度或 JS 中的坐标会返回看起来不正确的值,因此我没有正确的值来调整生成的侧边栏元素的大小或位置。我愿意接受任何可能使这项工作成功的想法。
我尝试过的一些事情:
:before
伪元素(示例如下)。如果我将跨度设置为 position:relative
并将 :before
设置为 position:absolute;高度:100%; left: 0
,它确实会生成一个与跨度高度匹配的条形,但它是在跨度内渲染的,并且我无法获得正确的左偏移值来重新定位该条形。在 wkhtmltopdf 中,getBoundingClientRect().left
和 offset().left
对于 :before 元素读取为 8
(由于页边距?)和 0
为其父跨度。:before
伪元素,但不将其父元素设置为 position:relative
。在这种情况下,该栏确实显示在 PDF 的左边缘,但我无法获得正确的跨度高度来应用于侧边栏。当我得到 offsetHeight
时,3 行跨度会以某种方式返回超过一千个像素的高度。当我从 getBoundingClientRect().bottom
中减去 getBoundingClientRect().top
时,结果相同。 block 元素具有相同的行为。也许 wkhtmltopdf 框会运行到页面底部。:before
伪元素,将 position:absolute
放置在页面的左边缘,然后通过添加换行符(通过其 content
样式),以使用 getClientRects()
匹配跨度中的软中断计数。在 wkhtmltopdf 中, getClientRects().length 为我提供了 3 行跨度的 63
。offset().top
的负数时,我停止了。--run-script
从命令行运行它。结果相同。<style>
.sidebar { position: relative; background-color: yellow; }
.sidebar::before { position: absolute; content: ''; border-left: 2px #000 solid; left: 0; height: 100%; }
</style>
<body>Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. <span class="sidebar">Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem.</span> Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?</body>
<小时/>
最佳答案
给你:
</<!DOCTYPE html>
<html>
<head>
<style>
body {
height: 842px;
width: 595px;
}
.sidebar {
background-color: yellow;
}
.sidebar::before {
position: fixed;
content: '';
border-left: 2px #000 solid;
left: 0;
}
</style>
</head>
<body>
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.
<span class="sidebar">Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem.
</span> Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?
<script>
document.addEventListener("DOMContentLoaded", function(event) {
var span = document.getElementsByClassName('sidebar')[0];
document.styleSheets[0].addRule('.sidebar::before', 'height: ' + span.offsetHeight + 'px;');
});
</script>
</body>
</html>
注意:我必须为 wkhtmltopdf javascript 添加高度和宽度的正文样式才能显示正确的 span.offsetHeight。如果没有这个,高度就太大了。
在 Chrome 中测试,我不需要正文样式,但 wkhtmltopdf 需要。
我只是将其设置为一些宽度/高度像素,但您可以考虑边距将其设置为正确的像素。
关于javascript - wkhtmltopdf - 添加一个跟随不同文本范围的侧边栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34815840/
我试图在我的数据库中找到所有关注该用户的用户。 followers 集合有 3 个字段:_id、_t、_f。 当一个用户关注另一个用户时,它会将他们的用户 ID 添加到 _f 并将目标用户的 ID 添
我有一个 UICollectionView,它由单元格中的 UIImagePickerControl 按钮填充,我希望跟随 Collection View 末尾的单元格通过屏幕,但仍允许用户滚动 -
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎与 help center 中定义的范围内的编程无关。 . 关闭 9 个月前。 Improv
好的,所以我知道如何将文本剪裁成特定的几何形状,但是文本不会根据剪裁自动换行,那么如果您有“勾选”作为几何/路径? 是否需要手动添加适合每一行的文本框,然后根据适合/不适合的内容拆分文本? 最佳答案
我里面有链接 s,但我在所有 上也有一个点击事件s。代码如下所示: $( document ).ready( function() { $( 'td.event' ).click( func
短版: 是)我有的: 2 元组列表,例如 [("a", "b"), ("b", "c"), ("d", "e"), ("c", "d"), ("f", "g")]不一定按字母顺序排列 我想要的是: 给
我正在尝试使用 xpath 来获取表的内容。 表格看起来像这样 Stuff Contents Contents Stuff
我有几个像这样的div: My Link 问题是,如果用户单击 div 而不是文本,则链接不会触发。这是我到目前为止所拥有的: $('#TopMenuBar .MenuList').click
我想要做一个链接到这个 .after() 的 .fadeIn() 动画,但这似乎不是这样做的方法。有什么建议吗? $(clicked_item).parent().parent().parent().
int getIdForSong(Song song){ String selectQuery = "SELECT id FROM " + TABLE_SONG + " WHERE " + S
现在右侧的 div 一直跟随滚动。如果我想让它在页面滚动到div的顶部时开始跟随滚动,并在向上滚动时让它保持在那里,我还需要做什么? jsfiddle $(window).scroll(functio
关闭。这个问题需要debugging details .它目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and t
我正在为我的客户设计一件 T 恤,我使用 html5 Canvas 制作了它。衬衫设计师现在已经完成,但他要求我添加一个放大镜(类似这样的东西:http://mlens.musings.it/)。我在
我正在尝试调试远程主机上的 fork 进程,但每次都让 gdbserver 进程在子退出时结束。 尝试在 .gdbinit 中设置“set follow-fork-mode child”,没有帮助。
我正在制作一个带有滚动控件的响应式菜单。我有一个小问题,我的渐变和控件跟随,滚动时,你可以在我的 JSFiddle 中看到它. 我的菜单控件有我的 CSS #page .page-nav .contr
我将我的页面分为左右两部分。我用 div 来制作左导航和右导航。在右侧导航中,我也有多个 div。现在,当我向下滚动页面时,只有页面的右侧部分正在滚动,而左侧导航则停留在那里。 所以当我向下滚动页面时
我刚刚开始使用 svg 和 anime.js。我正在尝试重新创建 svg motion path在文档中找到我自己的 Assets 。不过,我没有使用 div 来跟随路径,而是使用了另一条路径。 我有
我将展示整个代码,但请注意指针上方的引号,因为我将在那里讨论我的问题。我会在引用评论中告诉你我认为那里发生了什么。代码编译并运行,我只需要帮助理解部分代码。 #include #include i
我在左侧有一个 div,其中包括营业时间和天气。我希望该 div 根据用户的滚动方式向下和向上滚动。所以它会跟随页面上下移动。我将如何尝试呢?这是我的网站judystropicalgarden.com
所以我遇到了这个小问题,我的相机错误地固定在播放器上。 左上角的蓝色 Sprite 是玩家,但它应该位于屏幕中央。关于这个问题的所有其他线程都使用固定渲染管道,而我使用基于 VBO 的线程。 我的矩阵
我是一名优秀的程序员,十分优秀!