我目前在使用我的网站和我们正在尝试实施的聊天服务时出现问题。我把它缩小到与border-box属性相关的CSS问题。
此问题仅存在于Internet Explorer 11中。该框在Mozilla,Chrome甚至旧版IE中都能正确显示。一旦用户点击网站左侧的“需要帮助,在线聊天”按钮,他们就无法看到他们的输入文本。我知道数据正在输入和工作,但由于某种原因,该字段不显示用户键入的内容。我认为这是一个大小调整问题,通过在IE 11中显示带有CSS的页面证明是正确的,我可以看到框中的条目,但是一旦CSS启用,它就会再次从字段中消失。我已经尝试了许多编辑工作,但没有成功,但最终切换到填充框只是为了查看它是否有效。这似乎适用于两种浏览器,但在IE 11中,文本拥抱底部边框并且看起来很糟糕。
有没有办法可以修复边框以使文本显示在正确的区域,或者是否有一种方法可以让文本向上浮动,同时使用填充框使其看起来更好?
以下是启用聊天代码的页面:https://www.sundancevacations.com/company/privacy-statement/
这是我目前正在使用的代码。
article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary {
display: block;
}
audio,canvas,video {
display: inline-block;
}
audio:not([controls]) {
display: none;
height: 0;
}
[hidden],template {
display: none;
}
html {
font-family: sans-serif;
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
}
body {
margin: 0;
}
a {
background: transparent;
}
a:focus {
outline: thin dotted;
}
a:active,a:hover {
outline: 0;
}
h1 {
font-size: 2em;
margin: .67em 0;
}
abbr[title] {
border-bottom: 1px dotted;
}
b,strong {
font-weight: 700;
}
dfn {
font-style: italic;
}
hr {
-moz-box-sizing: content-box;
box-sizing: content-box;
height: 0;
}
mark {
background: #ff0;
color: #000;
}
code,kbd,pre,samp {
font-family: monospace,serif;
font-size: 1em;
}
pre {
white-space: pre-wrap;
}
q {
quotes: "\201C" "\201D" "\2018" "\2019";
}
small {
font-size: 80%;
}
sub,sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sup {
top: -.5em;
}
sub {
bottom: -.25em;
}
img {
border: 0;
}
svg:not(:root) {
overflow: hidden;
}
figure {
margin: 0;
}
fieldset {
border: 1px solid silver;
margin: 0 2px;
padding: .35em .625em .75em;
}
legend {
border: 0;
padding: 0;
}
button,input,select,textarea {
font-family: inherit;
font-size: 100%;
margin: 0;
}
button,input {
line-height: normal;
}
button,select {
text-transform: none;
}
button,html input[type=button],input[type=reset],input[type=submit] {
-webkit-appearance: button;
cursor: pointer;
}
button[disabled],html input[disabled] {
cursor: default;
}
input[type=checkbox],input[type=radio] {
box-sizing: border-box;
padding: 10px;
width: 1%;
}
input[type=search] {
-webkit-appearance: textfield;
-moz-box-sizing: content-box;
-webkit-box-sizing: content-box;
box-sizing: content-box;
}
input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration {
-webkit-appearance: none;
}
button::-moz-focus-inner,input::-moz-focus-inner {
border: 0;
padding: 0;
}
textarea {
overflow: auto;
vertical-align: top;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
目前我的盒子大小调整如下:
*,input[type="search"] {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: padding-box;
}
非常感谢任何帮助。
答案 0 :(得分:1)
所以我能够在这里找出问题所在。
事实证明,边框设置被隐藏在CSS另一部分中的条目所覆盖。它在所有内容周围添加了10px的填充,这导致文本显示在该区域之外,从而产生了没有输入任何内容的错觉。
我把它调低到5px,边框设置现在正常工作。 CSS的辅助文件(保存在一个单独的位置)就是我所做的。填充标记了一个!important标记,导致它覆盖聊天框的设置。
感谢大家的帮助!
答案 1 :(得分:0)
将其添加到样式表的顶部:
html,
body {
box-sizing: border-box;
}
*,
*:before,
*:after {
box-sizing: inherit;
}
删除它:
*, input[type="search"] {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: padding-box; }
如果您在其他任何地方都有box-sizing
规则,请确保您知道自己在做什么。我建议如果有任何模板的一部分,你不要触摸。您自己添加的任何额外box-sizing
属性都应删除。
html,
body {
box-sizing: border-box;
}
*,
*:before,
*:after {
box-sizing: inherit;
}
body {
background: black;
}
<input name="email" id="email" style='background: #fff url("https://storage.googleapis.com/code.snapengage.com/wbg/blank.gif"); list-style: none; margin: 0px; padding: 0px; border: currentColor; border-image: none; left: 35px; top: 85px; width: 310px; height: 20px; text-align: left; color: black; line-height: normal; text-indent: 0px; clear: none; font-family: "lucida grande","Helvetica Neue",Helvetica,Arial,sans-serif; font-size: 13px; font-style: normal; font-weight: normal; float: none; display: block; position: absolute; z-index: 2; min-height: 20px; max-height: 20px; min-width: 310px; max-width: 310px; text-shadow: none; -moz-box-shadow: none; -webkit-box-shadow: none;'
type="text" size="10" value="">