css - 使 div 看起来像输入 : cross-browser compatability, 不在 chrome 中呈现

标签 css cross-browser

主题:
我正在制作几个 div 以接受一些拖放值并将它们样式化以看起来像输入。
一切都在 Firefox 中呈现得很漂亮。
但是,在 Chrome 中,边框和框阴影无法正确呈现。 (我在 Chm v.24,顺便说一句)

目标:
最重要的是,我只希望它能正常工作。
但是......我很高兴得到关于如何做得更好的任何建议:)

注意:
这是一个办公室内的应用程序。 FireFox 和 Chrome 是这里仅有的两种正式支持的浏览器,因此,虽然跨所有浏览器的兼容性肯定很好,但我只需要为这两种浏览器编写代码。

代码: Also visible here on jsFiddle

/** html **/
<section id="dragged-drop-zone" >
    <div class="look-like-input textfield" contenteditable></div>
    <br />
    <div class="look-like-input textarea" contenteditable></div>
</section>

.

/** css **/
.look-like-input{
    background-color: white;
    border: 1px solid #CCC;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    padding: 0.25em 0.5em;
    min-height: 1.5em;
}
.look-like-input.textfield{
    appearance: field;
    -moz-appearance: textfield;
    -webkit-appearance: textfield;
}
.look-like-input.textarea{
    appearance: field;
    -moz-appearance: textfield-multiline;
    -webkit-appearance: textarea;
    overflow: auto;
    resize: both;
    min-height: 3.5em;
}
.look-like-input:focus{
    border: 1px solid #69F;
    -moz-box-shadow: 0 0 5px 2px rgba(0, 100, 255, 0.15);
    -webkit-box-shadow: 0 0 5px 2px rgba(0, 100, 255, 0.15);
    box-shadow: 0 0 5px 2px rgba(0, 100, 255, 0.15);
}


#dragged-drop-zone{
    border: 1px solid #666;
    -webkit-border-radius: 1em;
    -moz-border-radius: 1em;
    border-radius: 1em;
    padding: 1em;
}


多谢!

最佳答案

这就是我目前所用的方法

<html>
<head>
    <style>
        #dragged-drop-zone {
            border: 1px solid #666;
            -webkit-border-radius: 1em;
            -moz-border-radius: 1em;
            border-radius: 1em;
            padding: 1em;
        }

        .myinput {
            background-color: white;
            border: 1px solid #CCC;
            -webkit-border-radius: 4px;
            -moz-border-radius: 4px;
            border-radius: 4px;
            box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
            padding: 0.25em 0.5em;
            min-height: 1.5em;
        }

        .myinput:focus {
            border: 1px solid #69F;
            -moz-box-shadow: 0 0 5px 2px rgba(0, 100, 255, 0.15);
            -webkit-box-shadow: 0 0 5px 2px rgba(0, 100, 255, 0.15);
            box-shadow: 0 0 5px 2px rgba(0, 100, 255, 0.15);
        }

        .mytextfield {
            appearance: field;
            -moz-appearance: textfield;
            -webkit-appearance: field;
        }

        .mytextarea {
            appearance: field;
            -moz-appearance: textfield-multiline;
            -webkit-appearance: area;
            overflow: auto;
            resize: both;
            min-height: 3.5em;
        }
    </style>
</head>
<body>
    <section id="dragged-drop-zone" >
        <div class="myinput mytextfield" contenteditable></div>
        <br />
        <div class="myinput mytextarea" contenteditable></div>
    </section>
</body>
</html>

关于css - 使 div 看起来像输入 : cross-browser compatability, 不在 chrome 中呈现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14265836/

相关文章:

Javascript 在不使用 class 或 id 的情况下切换多个按钮

jquery动态获取div的高度

javascript - 窗口不在焦点时的 window.setTimeout 行为

html - 印度泰米尔字体跨浏览器字体大小问题

internet-explorer - 强制 IE9 使用浏览器模式而不是兼容模式

css - 当浏览器不支持 CSS 伪类时会发生什么?

css - jQuery Mobile 是否提供一种机制来扩展它的主题模型

javascript - jQuery - 具有多个图像的 LavaLamp 菜单?

internet-explorer - 在 Internet Explorer 中设置最大宽度

javascript - 来自输入元素的文件数据