html css 小技巧小bug 總結

來源:互聯網
上載者:User

 

 

一.Firefox和chrome下textarea解決自動展開

textarea {    resize: none;}

 

二. IE7下,<p>等標籤內部<a>添加float屬性後沒有和文字排在一行

 

<!-- '顯示模式:' 和 '列表模式','縮圖模式' 沒有在同一行中顯示--><div class="view">  顯示模式:   <a style="float:right;" title="列表模式" href="#" >列表模式</a>   <a style="float:right;" title="縮圖模式" href="#" >縮圖模式</a></div><!-- '顯示模式:' 和 '列表模式','縮圖模式' 在同一行中顯示--><div class="view">   <a style="float:right;" title="列表模式" href="#" >列表模式</a>   <a style="float:right;" title="縮圖模式" href="#" >縮圖模式</a>   顯示模式:</div>

 

結論: 在塊元素中有文字時,需要有部分文字有float屬性時,應該把浮動的文字放在塊元素的內部前面,這樣才會在同一行中浮動,而不會在下一行才浮動

三. IE7下,padding的值會算入width中

   查看元素布局時,會發現布局中的width把padding的值算了進去。

 

 

四、字型間距

行間距: line-height;

字間間距:letter-spacing;

首字縮排:text-indent;

 

 

五、圖片垂直水平置中

在圖片寬高未知,但最大寬高確定的情況下,在div等盒子中需要圖片垂直水平都置中的實現可以用<table><td>來實現:

html:

 

<table>      <td><img src="http://img5.hao123.com/data/8f5d57e5bc12734a86afa7f6ef0afba9_0" alt="" /></td></table>

 

css:

td{    vertical-align:middle;    text-align:center;    width: 355px;    height: 400px;}td img{    max-width:280px;    max-height:400px;}

 

 六、ie下固定table的寬高

在ie下直接給table寬高值不能夠實現固定寬高,這是需要再增加一個屬性:table-layout

文法:
table-layout : auto | fixed 
參數:
auto :  預設的自動演算法。布局將基於各儲存格的內容。表格在每一儲存格讀取計算之後才會顯示出來。速度很慢
fixed :  固定式配置的演算法。在這演算法中,水平布局是僅僅基於表格的寬度,表格邊框的寬度,儲存格間距,列的寬度,而和表格內容無關

table{    table-layout: fixed;    width: 200px;    height: 120px;}

 

 

 七、清除浮動屬性 clear的使用注意事項:

1、clear不是一個標籤,它是css中的一個屬性。

2、其屬性值有四個

  clear:both|left|right|none;

  clear:both;表示該元素兩邊都不存浮動元素。      

  clear:left;表示該元素左邊不存在浮動元素。      

  clear:right;表示該元素右邊不存在浮動元素。      

  clear:none表示兩邊允許有浮動元素。

3、該屬性的值指出了不允許有浮動物件的邊。換句話,clear屬性的作用就是“清除”浮動。 這個屬性是用來控制float屬性在文檔流的物理位置的。當屬性設定float(浮動)時,他所在的物理位置已經脫離文檔流了,但是大多時候我們希望文檔流能識別float(浮動),或者是希望float(浮動)後面的元素不被float(浮動)所影響,這個時候我們就需要用clear:both;來清除。

clear:both 使用不當造成的例子:在ie8+,chrome,Firefox下出現

 

.aa {    float:left;    width:100px;    height:200px;    border:1px solid red;}.bb {    margin-left:110px;    border:1px solid blue;    width:330px;}.cc {    float:left;    width:100px;    height:100px;    border:1px solid green;}.dd {    float:left;    border:1px solid black;    width:100px;    height:100px;}.clear{        clear:both;}

 

html:

<div class="aa"></div><div class="bb">    <div class="cc"></div>    <div class="cc"></div>    <div class="cc"></div>    <div class="clear"></div>    <div class="dd"></div></div>

結果:因為.clear 的使用不當,在<div class="clear"></div>的位置清除了文檔流的物理位置,使左右兩邊都沒有浮動屬性。造成bug出現

 修改css代碼:

 

.aa {    float:left;    width:100px;    height:200px;    border:1px solid red;}.bb {    margin-left:110px;    border:1px solid blue;    width:330px;}.cc {    float:left;  // 改為right    width:100px;    height:100px;    border:1px solid green;}.dd {    float:left;    border:1px solid black;    width:100px;    height:100px;}.clear{        clear:both;  // 改為 right}

//或者在父元素加 .clearfix

.clearfix:after{
  content:".";
  visibility:hidden;
  height:0;
  clear:both;

  display: block;
}

// 上面的那段代碼有時候不是很給力,clear屬性有些過猶不及

// 這段外國的代碼和拉轟

.clearfix{

  overflow: auto;

  _height:1%;

}

// 真心的下面這段也是可以的

.clearfix{
  overflow:hidden;
  _zoom: 1;
}

 

結果:

結論:使用clear的時候要注意 需要清除的浮動位置是left、right,還是both。

 

七、欄位換行

欄位自動換行有兩個屬性控制:word-break 和 word-wrap

p{word-break : break-allword-wrap : break-word}

文法:
word-break normal | break-all | keep-all 
參數:
normal :  依照亞洲語言和非亞洲語言的文本規則,允許在字內換行
break-all :  該行為與亞洲語言的normal相同。也允許非亞洲語言文本行的任意字內斷開。該值適合包含一些非亞洲文本的亞洲文本
keep-all :  與所有非亞洲語言的normal相同。對於中文,韓文,日文,不允許字斷開。適合包含少量亞洲文本的非亞洲文本
說明:
設定或檢索對象內文本的字內換行行為。尤其在出現多種語言時。
對於中文,應該使用break-all 。
對應的指令碼特性為wordBreak

 word-wrap : normal | break-word 
參數:
normal :  允許內容頂開指定的容器邊界
break-word :  內容將在邊界內換行。如果需要,詞內換行(word-break)也行發生

 

 

八、 table清除4像素的間距

在table標籤加入 border-collapse:collapse; 屬性

 

table{border-collapse:collapse;}

 

 

 

 

 

 

 


 

 

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.