تظهر صورة نوع إدخال IE8 الحدود حتى عندما قمت بتعيين الحدود على لا شيء
-
23-09-2019 - |
سؤال
لقد استخدمت صورة نوع الإدخال لعرض أزرار الأسلوب المخصص الخاص بي ، ولكن لسبب ما ، يعرض IE8 الحدود حتى عندما قمت بتعيين على حدود CSS إلى لا شيء. في المتصفحات الأخرى ، لا تظهر الحدود على الإطلاق.
input[type=image] {
margin: 0px;
padding: 0px;
border: none;
border-width: 0px;
border-style: none;
background-color: none;
}
المحلول
أي لا يدعم هذا المحدد باستمرار في تجربتي ؛ امنح الإدخال فئة ثم قم بتصميمه مع ذلك بدلاً من ذلك.
<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 كنقطة انطلاق في أسلوبي.
/* 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 ، فلن يوفر لك أبدًا ناتجًا غير مرغوب فيه في أي متصفح.
شكرًا!