1

我在这里拉头发。

我正在设计一个 ASP.NET 构建站点的前端,其中一个部分是一个带有图例的字段集,但是这个区域在 IE、firefox 和 chrome 之间看起来完全不同。IE 是迄今为止最差的。我无法通过设置此构建的方式加载特定于浏览器的样式表,但我可以在一个样式表中使用特定于 css 浏览器的 hack。

这是它在 Firefox 中的外观: 火狐截屏

这是它在 chrome 中的外观: Chrome 屏幕截图

这是它在 IE 中的外观: IE 屏幕截图

这是我的字段集和图例的 html 和 css:

#TabContainerAlerts_TabPanelBloodPressureAlerts_UpdatePanelBloodPressureAlerts > fieldset,
#TabContainerAlerts_TabPanelGlucoseAlerts_UpdatePanelGlucoseAlerts > fieldset,
#TabContainerAlerts_TabPanelWeightAlerts_UpdatePanelWeightAlerts > fieldset,
#TabContainerAlerts_TabPanelTemperatureAlerts_UpdatePanelTemperatureAlerts > fieldset,
#TabContainerAlerts_TabPanelOxygenAlerts_UpdatePanelOxygenAlerts > fieldset {
  border: 1px solid #7a8dab;
  border-radius: 10px;
  float: left;
  width: 81%;
  display: inline-block;
  margin-left: -5px;
  margin-top: 10px;
  margin-bottom: 10px;
}
#TabContainerAlerts_TabPanelBloodPressureAlerts_UpdatePanelBloodPressureAlerts > fieldset > legend,
#TabContainerAlerts_TabPanelGlucoseAlerts_UpdatePanelGlucoseAlerts > fieldset > legend,
#TabContainerAlerts_TabPanelWeightAlerts_UpdatePanelWeightAlerts > fieldset > legend,
#TabContainerAlerts_TabPanelTemperatureAlerts_UpdatePanelTemperatureAlerts > fieldset > legend,
#TabContainerAlerts_TabPanelOxygenAlerts_UpdatePanelOxygenAlerts > fieldset > legend {
  text-indent: 8px;
  display: inline-block;
  position: relative;
  top: -10px\9;
  /* IE 8 and below */
}
<fieldset id="FieldSetAlertsBloodPressureSystolic">
  <legend>
    Systolic

    <input id="TabContainerAlerts_TabPanelBloodPressureAlerts_CheckBoxBloodPressureSystolicAlertEnablement" type="checkbox" onclick="javascript:setTimeout('__doPostBack(\'TabContainerAlerts$TabPanelBloodPressureAlerts$CheckBoxBloodPressureSystolicAlertEnablement\',\'\')', 0)"
    checked="checked" name="TabContainerAlerts$TabPanelBloodPressureAlerts$CheckBoxBloodPressureSystolicAlertEnablement"></input>
  </legend>
  <div id="TabContainerAlerts_TabPanelBloodPressureAlerts_PanelBloodPressureSystolicAlerts">
    <div id="DivBloodPressureSystolicAlertSection">
      <div id="DivBloodPressureSystolicAlertNormalWrapper">…&lt;/div>
      <div id="DivBloodPressureSystolicAlertWarningWrapper">…&lt;/div>
      <div id="DivBloodPressureSystolicAlertCriticalWrapper">…&lt;/div>
      <div id="DivMultiSliderExtenderBloodPressureSystolicAlert">…&lt;/div>
    </div>
  </div>
</fieldset>

我试图让一切看起来像在 Firefox 中所做的那样,但我开始认为 IE 不会让我这样做,尤其是我在我的 bg 中使用的 alpha。

4

1 回答 1

1

You can use the following css trick:

fieldset > legend {
   height:30px; 
   position:absolute;
   margin-top:-10px;
   background:blue; 
}

The the height 30px is an example, and the blue should be replaced by the color of the tabs background.

于 2015-03-11T13:30:18.113 回答