国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > CSS > 正文

FireFox下文本框/域百分比自適應(yīng)數(shù)值padding顯示bug解決方案

2024-07-11 08:29:07
字體:
供稿:網(wǎng)友
一、問題描述

我是流體布局控,經(jīng)常會遇到文本框以及文本域?qū)挾?00%自適應(yīng)顯示的情況。

如下效果圖:
文本域?qū)挾?00%顯示 張鑫旭-鑫空間-鑫生活

在窄屏下,上面的文本框?qū)挾纫惨獠繉挾茸冃 ?/p>

難點
對于文本框或者文本域,光標(biāo)最好距離左側(cè)邊緣有一定的間距。因此,我們基本上都有類似下面的設(shè)置:

復(fù)制代碼
代碼如下:
input { padding-left: 10px; }

但是,如果只考慮文本框本身(父標(biāo)簽無其他特殊處理),這一套在流體環(huán)境下是行不通的,因為固定的padding數(shù)組無法讓文本框永遠(yuǎn)100%自適應(yīng)外部的寬度,至少非現(xiàn)代瀏覽器下是如此!//zxx: CSS3計算(calc())就是為了解決這類問題才誕生的!

復(fù)制代碼
代碼如下:
input { width: calc(100% - 10px); padding-left: 10px; }

目前而言,好的解決之道是widthpadding均采用百分比值,例如下面這樣:

復(fù)制代碼
代碼如下:
input { width: 92%; padding-left: 4%; padding-right: 4%; }

問題
上面這種寫法,IE6+, Opera, Chrome, Safari瀏覽器都是顯示很OK的;唯獨FireFox火狐瀏覽器,其雖然寬度渲染正常,但是,光標(biāo)的位置確是頂頭的(與數(shù)值padding的顯示完全不同)。

如下截圖:
FireFox下面文本框百分比padding顯示的問題截圖

這個問題再FireFox瀏覽器下存在已經(jīng)有3年之久了,到現(xiàn)在還沒有修復(fù)。

如何修復(fù)這個問題呢?

//zxx: 可能有人會提議div模擬文本框(即div設(shè)置padding值), 文本框本身no border, no padding, 且width:100. 這種操蛋的方法我是一點都不喜歡的(純屬個人喜好,沒有攻擊的意思),一是啰嗦;二來文本框本身可能就有box-shadow, outline以及內(nèi)聯(lián)的交互驗證UI(如驗證非法紅色外發(fā)光),難道你想把這些都抹殺掉??

更新2012-11-30

注意:FireFox 17+已經(jīng)修復(fù)了該問題!

二、text-indent修復(fù)法

firefox瀏覽器下的問題其實只是文字的位置問題而已,其本身的寬度渲染都是準(zhǔn)確的,因此,我們可以把解決問題的關(guān)鍵點放在解決文字不縮進(jìn)的問題上——我們自然而然就會想到文字縮進(jìn)屬性text-indent.

于是,在FireFox瀏覽器下,我們只要設(shè)置:

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 昌乐县| 巴塘县| 集贤县| 衡山县| 鲁甸县| 淄博市| 双桥区| 安泽县| 宁蒗| 英超| 雷州市| 郸城县| 梁山县| 华坪县| 丽水市| 奉新县| 铅山县| 庄浪县| 临沧市| 牡丹江市| 扶沟县| 丰宁| 乐陵市| 微博| 化州市| 宣化县| 金堂县| 赤峰市| 东莞市| 灵台县| 顺平县| 伊宁市| 新和县| 呼图壁县| 新和县| 舒城县| 缙云县| 德州市| 电白县| 喜德县| 车险|