主题:
我正在制作几个 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/