边框不显示文字,填充框无法正确显示

时间:2016-08-09 16:42:10

标签: javascript html css border-box

我目前在使用我的网站和我们正在尝试实施的聊天服务时出现问题。我把它缩小到与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;
}

非常感谢任何帮助。

2 个答案:

答案 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="">