gpt4 book ai didi

CSS 样式表——IE 6/7 错误

转载 作者:行者123 更新时间:2023-11-28 13:52:35 25 4
gpt4 key购买 nike

我正在开发一个使用表单的网站,不幸的是,我的目标浏览器之一是 IE 6 和 7。我遇到了 CSS 和 IE 呈现样式化表单元素的问题。

我写了一个测试用例,它是这样的(也可以在 http://xistence.osnn.net/testcases/ie67fieldset/ 在线获得):

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>IE [6|7] Wha?</title>
<style type="text/css">

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,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
margin: 0;
padding: 0;
border: 0;
outline: 0;
font-weight: inherit;
font-style: inherit;
font-size: 100%;
font-family: inherit;
vertical-align: baseline;
}

/* remember to define focus styles! */
:focus {
outline: 0;
}

body {
line-height: 1;
color: black;
background: white;
}

#req fieldset {
border: 0;
border-top: 1px solid #000;
padding: 0em 1em 0em 1em;
}

#req legend + label {
margin-top: 0.5em;
}

#req legend {
font-size: 1.2em;
}

#req label {
display: block;
background: none;
}

#req input, #req textarea {
position: relative;
display: block;
left: 200px;
top: -1em;
margin-bottom: -0.3em;
}

#req input[type="text"], #req textarea {
width: 300px;
}

#req textarea {
height: 3.6em;
}

#req input[type="text"], #req textarea {
border: 1px solid #0a0;
}

#req label.required + input[type="text"], #req label.required + textarea {
border: 1px solid #a00;
}

#req input[type="submit"] {
position: relative;
top: 0;
margin: 0;
left: 200px;
margin-top: 0.5em;
}

#req input[type="hidden"] {
display: none;
}
</style>
</head>
<body>
<form id="req">
<fieldset>
<legend>Contact Information</legend>
<label for="name" class="required">Name: </label> <input type="text" id="name" name="name"></input>
<label for="phone" class="required">Phone Number: </label> <input type="text" id="phone" name="phone"></input>
<label for="email">Email: </label> <input type="text" id="email" name="email"></input>
</fieldset>
<fieldset>
<legend>Personal Info</legend>
<label for="sports">Sports:</label> <input type="text" id="sports" name="sports"></input>
<label for="spentonline">Hours spent online: </label> <input type="text" id="spentonline" name="spentonline"></input>
<label for="moreinfo">Tell us about yourself: </label> <textarea id="moreinfo" name="moreinfo"></textarea>
</fieldset>
<fieldset>
<input type="submit" value="Submit" />
</fieldset>
</form>
</body>
</html>

我也截了两张屏幕截图,一张是 IE 7,一张是 IE 8,IE 7 和 IE 6 都同意这种样式,所以我就懒得拍 IE 6 的屏幕了。

IE [6|7]: enter image description here

IE 8:

enter image description here

有没有人见过这个错误?我哪里做错了?我必须删除什么才能使其在 IE 6/7 中工作,而无需额外的行通过我的输入框。当 border-top 在 fieldset 上消失时,额外的线将被删除,但这不是解决方案,因为这样做会消除整个视觉分离。


它是固定的。 textarea 和 input[type="text"] 上的 margin-bottom 导致 IE 6/7 出现渲染错误。删除那些,一切都很好。我想我可以处理页面上元素之间的额外空间!

最佳答案

我看你用

input[type="submit"]

我怀疑这是否受 IE6 支持...您可能想在所有字段上放置类以区分不同类型的输入。

编辑:

margin-bottom: -0.3em;

您当前使用的负边距通常会导致 IE 出现问题,因此应将其删除

关于CSS 样式表——IE 6/7 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/830921/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com