- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
@media screen{
a {color:green}
}
@media print{
a {color:red}
}
有没有一种方法可以使用 JavaScript 在打印时获取“A”元素的颜色?普通的 getComputedStyle
仅适用于 screen
媒体。
我不想读取样式元素。我需要计算样式。
最佳答案
我开发了一个解决方案,如何删除 PRINT 媒体的所有样式。这样打印样式将与 SCREEN 样式相同。
这使打印机的打印效果与屏幕上显示的完全一样。
console.debug('styleSheetsLength')
$('link[media=print]').remove()
$('link[media*=screen]').attr('media','print,screen')
for (var x=0; x<document.styleSheets.length;x++){
console.groupCollapsed('styleSheet-' + x,document.styleSheets[x])
if(document.styleSheets[x].rules){
for (var i=0; i<document.styleSheets[x].rules.length;i++) {
console.groupCollapsed('rule-(' + x + ')-' +i + document.styleSheets[x].rules[i])
console.debug(document.styleSheets[x].rules[i])
if(document.styleSheets[x].rules[i].media){
for(var j=0;j<document.styleSheets[x].rules[i].media.length;j++){
if (document.styleSheets[x].rules[i].media[j].indexOf('print')>-1)
document.styleSheets[x].rules[i].media.mediaText='nothing'
if (document.styleSheets[x].rules[i].media[j].indexOf('screen')>-1)
document.styleSheets[x].rules[i].media.mediaText='print,screen'
}
}
console.groupEnd();
}
}
console.groupEnd()
}
关于javascript - GetComputedStyle 到屏幕以外的其他媒体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16798249/
获取元素的样式时,我们总是使用 if(document.defaultView && document.defaultView.getComputedStyle) 检查浏览器是否支持该方法。 为什么不
我目前拥有的代码获得了整个 CSS,甚至是默认的。我想要的是只更改默认的 CSS。 function baba() { addEventListener("mouseover", function
我需要为元素获取一个计算 CSS 位置,但是当使用auto 而不是数字值时,我在不同浏览器中得到的结果不一致。 例如在下面的demo中设置bottom: auto;Chrome 和 Firefox 报
我正在尝试报告我创建的椭圆形 div 的边框半径值,但我得到了一个未定义的返回值。谁能解释为什么?我是犯了一个简单的错误还是我的代码有问题?谢谢你! CSS3
我在这里设置了一个演示: http://jsbin.com/evifeb/ 这更像是我在大声思考,而不是一个适当的问题,但是.. 为什么浏览器将样式规则与辅助方法和保留字一起直接插入到计算样式对象中?
这个问题在这里已经有了答案: text-decoration: apparent discrepancy between appearance and computed values (3 个答案)
我想创建一个具有 display: none 的模拟 div 用于测试目的。但是,在测试中设置显示然后调用 getComputedStyle 显示样式没有变化,即 const parent = doc
我有一段简单的代码: var recipes = document.getElementsByClassName("recipes"); var recipesStyle = window.getCo
我正在尝试像这样获取 CSS left 属性的值... window.getComputedStyle(document.querySelector('.test'), ':after').getPr
我只是问我做错了什么,因为我以前已经做过,我只是不记得是怎么做的,我一定是把旧代码弄丢了。 Firefox 有一个未记录的颜色值,称为 -moz-win-accentcolor,可用于获取 Windo
本质上,我试图使用 getComputedStyle 来获取属性值,而无需(直接)访问元素。请阅读下面的说明以了解更多详细信息。 这很难解释,如果你不明白,请告诉我。 这是我的 CSS 代码: .yS
getComputedStyle获取text-decoration属性继承失败,但可以获取font-size。 在 Firefox 25 和 GoogleChrome 30 中失败。 Note: In
在考虑向 Chromium 提交错误时寻找解决方法 - 如果元素有过渡,getComputedStyle 不会返回您期望它返回的内容,直到过渡结束。 长和短 - 如果我有一个高度为 24px 的元素,
@media screen{ a {color:green} } @media print{ a {color:red} } 有没有一种方法可以使用 JavaScript 在打印
我处于这样一种情况,我需要等到图像被加载后,一旦图像被加载,我需要得到它的计算高度,以便我可以相应地设置黄色选择器。 问题:基于图像的计算高度,我正在设置黄色选择器。它随机与 setTimeout()
我有以下代码用于更新名为 --changeColor 的 css 变量 const r = document.querySelector(':root'); const currentColor =
我只是想知道为什么,例如,window.getComputedStyle(element).top 总是以像素为单位返回测量值,即使在设置了 top 位置的情况下也是如此像这样明确地 % elemen
getComputedStyle 的 MDN 文档州 The values returned by getComputedStyle are known as resolved values. The
我在定义 left、right 和 bottom 的元素上调用 getComputedStyle。 在 Chrome 中,它返回 'auto' 作为 top 的值,但在 Firefox 中,它返回像素
我目前遇到一个“奇怪的问题”...我是 JavaScript 的初学者,我想获取图像的高度以便设置 a 的大小。 我得到屏幕的宽度 我根据屏幕尺寸设置图像的宽度=> 我猜电脑也设置了图像的高度。 我问
我是一名优秀的程序员,十分优秀!