Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何找到可打印区域的实际周长?_Javascript_Html_Css - Fatal编程技术网

Javascript 如何找到可打印区域的实际周长?

Javascript 如何找到可打印区域的实际周长?,javascript,html,css,Javascript,Html,Css,我想做的是在页面上创建一个用户可以交互的区域,该区域的大小与一张纸(A4)的典型大小完全一致,这样用户在构建可打印区域时(在访问打印预览之前),就可以确切地知道打印的外观。我根本不想也不应该使用@media print 似乎页面可打印区域的周长仅在某些时候与实际的浏览器窗口(window.innerWidth等)相对应,而在其他情况下,位于页面中心附近的元素部分被排除在可打印区域之外,甚至完全被排除在外 我似乎找不到任何押韵或理由。我试着看了一下,发现了一个与可打印区域相关的问题,但针对不同的语

我想做的是在页面上创建一个用户可以交互的区域,该区域的大小与一张纸(A4)的典型大小完全一致,这样用户在构建可打印区域时(在访问打印预览之前),就可以确切地知道打印的外观。我根本不想也不应该使用
@media print

似乎页面可打印区域的周长仅在某些时候与实际的浏览器窗口(
window.innerWidth
等)相对应,而在其他情况下,位于页面中心附近的元素部分被排除在可打印区域之外,甚至完全被排除在外

我似乎找不到任何押韵或理由。我试着看了一下,发现了一个与可打印区域相关的问题,但针对不同的语言/上下文。我试着在谷歌上搜索。没什么

[编辑]现在我想起来了,它的行为有点像视口/视口框裁剪/缩放

有人知道如何找到网页的实际可打印区域和/或周长吗?

例子 一个位置为
right:0
的元素出现在页面的最右侧,并将包含在打印中,但具有讽刺意味的是,当该元素被拖动靠近屏幕中央时,该元素最终部分被排除

...
  <body>
    <div id="l"></div>
    <div id="r"></div>
    <textarea draggable="true" id="textarea"></textarea>
  </body>
...

@media print {
  #l, #r {
    width: 50%;
    height: 100%;
    position: absolute;
    top: 0;
  }
  #l {
    background: blue;
  }
  #r {
    left: 50%;
    background: orange;
  }
  #textarea {
    right: 0;
  }
}
。。。
...
@媒体印刷品{
#l、 #r{
宽度:50%;
身高:100%;
位置:绝对位置;
排名:0;
}
#l{
背景:蓝色;
}
#r{
左:50%;
背景:橙色;
}
#文本区{
右:0;
}
}

但是,如果我将图像拖到靠近页面中心的位置,讽刺的是,它会部分地被排除在可打印区域之外。。。

通常情况下,专门为打印目的设计的特殊样式表与网页相关联。此样式表可以包含/排除任何内容


这里是关于设置打印样式表的

你对“可打印区域”的定义是什么,因为整个网页都是可打印的。是的,这听起来更取决于打印机/纸张size@ScottMarcus所谓“可打印区域”,我指的是实际打印出来的所有网页元素和部分都可以在打印预览中查看,这完全取决于用户选择的纸张大小、方向和比例。不幸的是,只有在用户打开“打印”对话框后才选择这些内容,到那时,所有布局都已设置好,因此您无法对此进行任何操作。您能否提供一些显示您所描述内容的图像?我很清楚这一点,但这不是问题的重点。即使某个元素被设置为使用
@media print…
显示,该元素在页面上的位置最终决定它是否在可打印区域内,以及它是否将被打印。@Anthony这不是真的。如果内容是打印结果中包含的内容的一部分,打印机将始终打印它。如果不适合纸张,打印机将打印第二张纸。这就是打印样式表存在的全部原因,因为您可以安全地假设您有8.5“x 11”可使用。我要做的是确保所有内容都在同一页上。我已经编辑了我的问题。有一个更好的描述,我正在努力完成。我基本上希望用户在选择打印之前知道打印的页面是什么样子,并且当他们在单个页面链接的可打印区域中构建/编辑内容时,只有答案是不允许的。您需要形成一个完整的答案,或者将其全部删除。我很惊讶你还不知道。那么你的代码在哪里显示如何找到屏幕的可打印区域?或者至少是这样做的方法?