自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

IE CSS Bug系列:表單控件雙邊距BUG

開發(fā) 前端
IE 瀏覽器不支持很多 CSS 屬性是出了名的,即便在支持的部分中,也是有很多 Bug 的。Zoffix Znet 整理了 IE 中的 CSS 問題,有簡單的問題示例,也有解決方法。 這個系列共有58個指南,70個解決方案。

受影響版本

該BUG影響:IE7、IE6

表現(xiàn)

<input>和<textarea>元素會從用擁有邊距(margin)屬性和布局的父節(jié)點繼承水平方向的邊距(margin)屬性。

教程日期

2009-08-17 22:37:49 星期一

描述

這是我在Gérard Talbot 的 IE7 BUG 集合頁上發(fā)現(xiàn)的另外一個BUG。 雙邊距 Bug現(xiàn)在有了新的表現(xiàn),而且在IE7下也出現(xiàn)了?,F(xiàn)在它主要的表現(xiàn)是影響了<input>和<textarea>元素。讓我們來看一下示例。

示例

示例在一個單獨頁面上。

注意:雖然該演示顯示了合法的HTML標(biāo)記,但它并不是創(chuàng)建HTML表單的合適方法,本演示只是一個簡化的版本。

HTML 代碼:

  1. <form action=""> 
  2. <div> 
  3.     <input type="text" name="ber"> 
  4.     <textarea cols="10" rows="5" name="baz"></textarea> 
  5.     <select name="ber"><option>foo</option></select> 
  6. </div> 
  7. </form> 

CSS 代碼:

  1. div { 
  2.     margin-left100px
  3.     width100%/* gives "layout" */ 

現(xiàn)在,我們有一個擁有布局并且設(shè)置了margin-left屬性的父節(jié)點。在IE6與IE7中,<input> 和<textarea>元素的表現(xiàn)看起來就好像它們從父節(jié)點<div>那里繼承了margin屬性一樣,這樣它們的margin 屬性的值就是雙重疊加的。在父節(jié)點上設(shè)置margin-right屬性結(jié)果也是一樣的。在功能更健全的瀏覽器中,<input> 和<textarea>元素在垂直方向上應(yīng)該和<select>對齊。

 

解決方案

下面是按照解決方案類型排序的對上述問題的解決方案。

解決方案(條件注釋解決方案)

解決方案日期

2009-08-17 22:37:49 星期一

修復(fù)版本

所有受影響版本

描述

對于本BUG的修復(fù)是一個相當(dāng)暴力直接的解決方案。讓我們一起看一下: 修復(fù)后的實例在一個單獨頁面上。

HTML 代碼:

  1. <form action=""> 
  2. <div> 
  3.     <input type="text" name="ber"> 
  4.     <textarea cols="10" rows="5" name="baz"></textarea> 
  5.     <select name="ber"><option>foo</option></select> 
  6. </div> 
  7. </form> 

CSS 代碼:

  1. div { 
  2.     margin-left100px
  3.     width100%/* gives "layout" */ 

條件注釋代碼:

  1. <!--[if lte IE 7]> 
  2.     <style type="text/css"> 
  3.         input, 
  4.         textarea { 
  5.             margin-left: -100px; 
  6.         } 
  7.     </style> 
  8. <![endif]--> 

讓我們來分解一下我在這里的解決辦法。這個是迄今為止我發(fā)現(xiàn)的唯一一個解決方案。我通過使用條件注釋來針對IE6和IE7做了處理,您也可以選擇任 何您喜歡的方式來達(dá)成這個目標(biāo)。對于這些特定版本的IE瀏覽器,我為<input>和<textarea>設(shè)置了與父節(jié)點中的 margin-left屬性值大小相等,符號相反的margin-left值?,F(xiàn)在,在受該BUG影響瀏覽器中,所有的元素都像他們應(yīng)該表現(xiàn)的那樣, 與<select>元素在垂直方向?qū)R。該方案對于margin-right來說同樣適用。

注釋:你可以直接使用我在CSS里定義的選擇條件,這不算惡意侵權(quán)。要確保修正其中margin的負(fù)數(shù),把它只應(yīng)用到和這個bug相關(guān)的表單元素中。

原文鏈接:http://haslayout.net/css/Form-Control-Double-Margin-Bug

譯文鏈接:http://blog.jobbole.com/47526/

責(zé)任編輯:陳四芳 來源: 伯樂在線
相關(guān)推薦

2013-10-30 09:57:43

IECSS

2013-09-09 10:51:07

CSSIE瀏覽器

2013-10-28 14:01:03

IECSS

2013-10-31 10:59:23

IECSS

2013-10-29 15:20:38

IECSS

2013-10-29 10:32:59

IECSS

2010-08-27 09:02:22

IE6margin雙倍

2009-08-13 10:12:07

IE的CSS Bug

2010-09-03 09:55:10

CSS偽類hover

2010-08-17 15:38:49

CSS兼容IE7IE8

2010-08-18 09:55:38

IE6

2009-03-28 09:50:02

IE8微軟瀏覽器

2013-09-22 09:55:14

2014-05-22 16:32:48

bug查找bug

2010-09-02 11:03:48

CSS

2014-11-14 14:03:17

微軟安全漏洞bug

2016-12-13 10:57:22

Bug程序員錯誤報告

2010-08-26 12:59:29

marginCSS

2010-09-08 11:23:27

2020-10-22 07:09:19

TCP網(wǎng)絡(luò)協(xié)議
點贊
收藏

51CTO技術(shù)棧公眾號