Изображение типа ввода IE8 показывает границу даже, когда я устанавливаю границу на нет

StackOverflow https://stackoverflow.com/questions/2145275

Вопрос

Я использовал изображение типа ввода для отображения кнопок своего пользовательского стиля, но по какой-то причине IE8 показывает рамку, даже если я установил в CSS границу «Нет».В других браузерах граница вообще не отображается.

input[type=image] {
    margin: 0px; 
    padding: 0px;
    border: none;
    border-width: 0px;
    border-style: none;
    background-color: none;
}
Это было полезно?

Решение

По моему опыту, IE не всегда поддерживает этот селектор;присвойте входным данным класс, а затем вместо этого используйте его.

<input type="image" class="imageinput" name="whatever" />

input.imageinput {
    margin: 0px; 
    padding: 0px;
    border: none;
    background-color: none;
}

Другие советы

Использовать outline CSS-свойство:

input[type="image"] {
    border: none;
    outline: none;
}

outline рисует линию вокруг поля элемента, не увеличивая ширину элемента, и в этом случае IE8 может иметь указанный контур по умолчанию.Подробнее об этом в W3Schools.

прежде всего спасибо, что задали этот вопрос.Я столкнулся с этой проблемой год назад, вы можете выбрать тот способ, который вам нужен, но я просто импортировал этот CSS в качестве отправной точки в свой style.css, и из-за этого он не дает мне нежелательного результата.

/* Reset CSS */

body, html {
    height:100%;
}
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
    margin:0;
    padding:0;
}
body {
    line-height:1;
}
ol, ul {
    list-style:none;
}
blockquote, q {
    quotes:none;
}
blockquote:before, blockquote:after, q:before, q:after {
    content:none;
}
:focus {
    outline:0;
}
del {
    text-decoration:line-through;
}
table {
    border-collapse:collapse;
    border-spacing:0;
}

/* Floating & Alignment  */

.fl {
    float:left;
}
.fr {
    float:right;
}
.ac {
    text-align:center;
}
.ar {
    text-align:right;
}

/* Clear Floats  */

.col-full:after {
    content:".";
    display:block;
    height:0;
    clear:both;
    visibility:hidden;
}
.fix {
    clear:both;
    height:1px;
    overflow:hidden;
    margin:-1px 0 0;
}
html body * span.clear, html body * div.clear, html body * li.clear, html body * dd.clear {
    background:none;
    border:0;
    clear:both;
    display:block;
    float:none;
    font-size:0;
    list-style:none;
    overflow:hidden;
    visibility:hidden;
    width:0;
    height:0;
    margin:0;
    padding:0;
}

Если вы сохраните привычку импортировать этот CSS, он никогда не даст вам нежелательного результата ни в одном браузере.

Спасибо!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top