自動高度的TextBox

2021-04-23 00:44:07 字數 1770 閱讀 8382

正確的方法

overflow 水平及垂直方向內容溢位時的設定

overflow-x 水平方向內容溢位時的設定

overflow-y 垂直方向內容溢位時的設定

以上三個屬性設定的值為visible、scroll、hidden、auto

visible 預設值。使用該值時,無論設定的"width"和"height"的值是多少,其中的內容無論是否超出範圍都將被強制顯示。

hidden 效果與visible相反。任何超出"width"和"height"的內容都會不可見。

scroll 無論內容是否超越範圍,都將顯示滾動條。

auto 當內容超出範圍時,顯示滾動條,否則不顯示。

scroll屬性對比演示:

**:

test

test

test

test

test

test

test

test

test

test

test

test

test

test

test

auto屬性對比演示:

**:

test

test

test

test

test

test

test

test

test

test

test

test

test

test

test

應用:

沒有水平滾動條

style="overflow-x:hidden"

沒有垂直滾動條

style="overflow-y:hidden"

沒有滾動條

style="overflow-x:hidden;overflow-y:hidden" 或 style="overflow:hidden"

但是ie6總是無法正常顯示

大家知道ie有兩種渲染模式:quirks mode和strict mode。quirks mode基本上是非標準的,包括盒模型在內,它的渲染方式與w3c的標準有些出入。而strick mode基本上是標準的(反正都不是絕對標準也不是絕對不標準……)。ie6及以前版本會根據寫在xhtml文件第一行(也只能是第一行)的doctype宣告來選擇渲染模式。如果發現了乙個它能識別的doctype,比如xhtml transitional或者xhtml strict等等,它就使用strict mode來渲染。其他所有情況下都使用quirks mode。

有些開發者為了顯式地宣告他們的xhtml文件是乙個xml,會在文件的第一行(問題就在這裡,它也必須在第一行)加上xml的序言(prolog)。比如:

<?xml version="1.0" encoding="gb2312"?>

雖然初衷是為了讓文件更「標準」,但由於ie不認這行字,結果還是按quirks mode來渲染。

ie7 解決這個問題,它會跳過prolog來看檢查doctype。所以可能會出現ie6及以下版本用quirks mode渲染而ie7 用strict mode渲染的情況。

現在讓ie7渲染textbox的模式是quirks mode,這樣textbox的overflow:visible屬性就可以像ie6效果一樣了,所以只要把xhtml文件第一行的doctype宣告刪除就可以了。

這樣問題就解決了。。。

注意:雖然在ie7和ie6中顯示一樣的,但是在ff中還是不一樣,所以這種方法只能解決ie7中的問題,ff中的是無能為力的。

textbox 自動換行問題

這裡的換行不通過 r n或 來標識,而是通過css屬性來設定。多行文字框在輸入時,會自動換行,當從一大行文字讀取賦值時,卻不能自動換行,這裡解決這個問題 新增以下三個重要屬性 columns 50 textmode multiline style word wrap break word heigh...

WPF RichTextBox自動調整高度

大概兩年前的這個時間段,當時做專案遇到了乙個問題 環境vs2005 winform,需要richtextbox根據內容自動調整高度。當時用了各種方法都沒能解決,後來也嘗試了好幾次都沒能完成這個功能。這個功能成了我的乙個心病。這一段使用silverlight,然後學習wpf,嘗試用wpf中的richt...

textbox控制項實現點選文字自動消失

現在越來越多的輸入提示都是直接應用在textbox裡面,當滑鼠點選的時候,預設文字消失,這種效果在以前的一篇文章裡面寫過,請參見 在textbox中實現滑鼠點選文字消失 那篇文章裡面講到的方法只能實現滑鼠點選,文字消失,當滑鼠點選textbox以外,同時textbox又並沒有輸入任何字元的時候,預設...