希望一张图片值得千行代码,因为我不想删除所有的ASP.Net代码,HTML,JavaScript和CSS来提供一个例子(但我会根据要求提供我可以提供的代码)如果有人不说"哦,我以前见过这个!试试这个...")[实际上,我确实发布了一些代码和CSS - 见问题的底部].
以下是Firefox中显示的表单页面的一部分:
蓝色框是 单选按钮是由ASP控件生成的,所以它们被包裹在 这是IE7中呈现的屏幕的相同部分:
有一些小的渲染差异,但是让我疯狂的一个重要因素是 虽然它们没有显示,但下拉列表和列表框也会出现同样的情况.我没有尝试将输入控件包装在a中 我已经尝试了几个IE7解决方案的问题,我已经编辑了CSS,直到我处于纯巫毒模式(即随机变化,希望有些东西有效).就像我说的那样,我希望有人会看到这个并说:"我以前见过这个!试试这个..." 任何人? 后续1: 我正在使用XHTML 1.0 Transitional 后续2: 以下是上面生成的代码的小片段(第一个控件和最后一个控件).请注意,此代码由ASP.Net生成,然后由JavaScript/jQuery动态编辑. 这是CSS的相关部分(我仔细检查以确保重复问题): 解!
Matthew在IE/Win表格元素上的继承边距上指向了这个页面,这就是问题所在.输入框继承了所有包含元素的左边距.我选择的解决方案是将每个 请注意,这只会 StackOverflow再次救援!标签的临时样式,橙色线是标签的临时边框样式
's的风格来
float: left
为是float:left
纯粹是因此它们将排列在顶部- 也是浮动的左边,因为它是一个后代
控件旁边的额外空白区域!请注意,
单选按钮和复选框周围的正确排列.
,但这可能有效.不过,这是一个丑陋的黑客行为.
,所以我应该处于标准模式.
div
{
border-style: solid;
border-width: thin;
border-color:Orange;
}
label
{
border-style: solid;
border-width: thin;
border-color:Blue;
}
.FormGroup
{
float:left;
margin-left: 1em;
clear: right;
width: 75em;
}
.FormGroup > *
{
float:left;
background-color: Yellow;
}
fieldset ol
{
list-style: none;
}
fieldset li
{
padding-bottom: 0.5em;
}
li > label:first-child
{
display: block;
float: left;
width: 10em;
clear: left;
margin-bottom: 0.5em;
}
em
{
color: Red;
font-weight: bold;
}
元素包装成没有样式的
.我一直在努力保持HTML的结构尽可能保持语义,所以我在
$(document).ready()
函数中使用jQuery命令解决了它:
//IE Margin fix:
// http://www.positioniseverything.net/explorer/inherited_margin.html
jQuery.each(jQuery.browser, function(i) {
if($.browser.msie){
$(":input").wrap("");
}
});
在IE上添加愚蠢的...
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有