CSS:输入充当跨度(webkit)

标签 css input webkit

有可能 input, select, textarea 充当 span 吗?我的想法是创建一个打印媒体 CSS,将表单的所有输入可视化转换为视觉范围,以便打印它,而无需使用 javascript 转换所有内容或创建特定页面进行打印。

我需要像 this example 这样的东西.

它只需要与 webkit/chrome 兼容,所以我可以使用 -webkit-appearence 例如。主要问题是: CSS 可行,还是我需要使用 javascript?

最佳答案

我认为您想要的是表单元素看起来像普通文本,至少在打印时是这样。这确实是很有可能的。您可以使用媒体查询 @media print

向您的 css 添加仅适用于打印媒体的自定义样式

代码看起来像这样:

@media print {
     input, textarea, select {
        border: none;
        display: block;
        font-family: consolas, monotype;
        font-size: 14px;
        width: 100%;
        height: auto;
        background: transparent;
        -webkit-appearance:none;
    }
}

我已将 css 添加到您的 fiddle 中:http://jsfiddle.net/rWySb/3/

请注意,不会有任何可见的变化,因为此样式仅适用于打印媒体,不适用于您的屏幕。使用浏览器中的打印预览来查看效果。或者更简单,肯定是在开发过程中,将媒体查询中的 print 临时更改为 screen

请注意,我还添加了我在每个元素中使用的默认打印样式,这实际上是从 HTML5 样板中“借用”的。 https://github.com/h5bp/html5-boilerplate/blob/master/css/main.css
这不是必需的,但包含一些可能对您有用的技巧和想法,因为您正在使用打印网页 atm...

关于CSS:输入充当跨度(webkit),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15909546/

相关文章:

iphone - 阻止 Mobile Safari 中 <video> 元素中的 touchmove 事件

javascript - 在 HTML5 Canvas 中的多个边界内拖放图像

javascript - 获取相对单位值

python - 有没有办法在 python 中发送/按 NUMPAD 键?

c++ - B不将8作为输入是什么? C++

css - webkit 重叠故障的解决方法

google-chrome - "@media screen and (-webkit-min-device-pixel-ratio:0)"的语义是什么?

javascript - JQuery "includes"困惑

html - 更改 div 位置

Java文本文件输入