css知識點

來源:互聯網
上載者:User

標籤:style   java   color   使用   strong   os   

1、文本顯示一行
  text-overflow:ellipsis;   white-space:nowrap;  overflow:hidden;

  text-overflow屬性僅是註解,當文本溢出時是否顯示省略標記。並不具備其它的樣式屬性定義。我們想要實現溢出時產生省略符號的效果。還必須定義:強制文本在一行內顯示(white-space:nowrap)及溢出內容為隱藏(overflow:hidden)。只有這樣才能實  現溢出文本顯示省略符號的效果。 
  一、僅定義text-overflow:ellipsis; 不能實現省略符號效果。   
  二、定義text-overflow:ellipsis; white-space:nowrap; 同樣不能實現省略符號效果   
  三、同時應用: text-overflow:ellipsis; white-space:nowrap; overflow:hidden; 可實現所想要得到的溢出文本顯示省略符號效果:

  text-overflow

  normal:預設處理方式。
  pre:用等寬字型顯示預先格式化的文本,不合并文字間的空白距離,當文字超出邊界時不換行。可查閱pre對象
  nowrap:強制在同一行內顯示所有文本,合并文本間的多餘空白,直到文本結束或者遭遇br對象。
  pre-wrap:用等寬字型顯示預先格式化的文本,不合并文字間的空白距離,當文字碰到邊界時發生換行。
  pre-line:保持文本的換行,不保留文字間的空白距離,當文字碰到邊界時發生換行。
  clip:當對象內文本溢出時不顯示省略標記(...),而是將溢出的部分裁切掉。

  ellipsis:當對象內文本溢出時顯示省略標記(...)

2、文本多行顯示

  目前沒有很好的方法,無法相容低版本瀏覽器。

 <style>.demo{position:relative;word-break:break-all; /*支援IE,chrome,FF不支援*/word-wrap:break-word;/*支援IE,chrome,FF*/width:100px;height:38px;overflow:hidden;background:#aaa;}.demo:after{content: "...";position: absolute;top:16px;right:-3px;background: #aaa;  //背景色與div的背景色一樣}</style>
 <div class="demo">asdsdasdasdsdsdfffffffffffffffffffffffffff</div>
3、文本強制換行
  word-break:break-all; /*支援IE,chrome,FF不支援*/  word-wrap:break-word;/*支援IE,chrome,FF*/    
word-wrap:設定或檢索當內容超過指定容器的邊界時是否斷行

  取值

    normal:許內容頂開或溢出指定的容器邊界。

    break-word:容將在邊界內換行。如果需要,單詞內部允許斷行

    word-break:對於解決防止頁面中出現連續無意義的長字元打破布局,應該使用break-all;

4、箭頭

  可以通過圖片,邊框,字型等實現。對於用border實現小箭頭,可以設定兩邊border的透明度和背景色

  <div class="demo"></div>
  .demo{   display:inline-block;*display:inline;   //相容ie6border-width:20px;border-style:solid dashed dashed dashed;border-color:#000 transparent transparent transparent;width:0;height:0;  }
5、清除浮動

  什麼是清除浮動?

    當元素定義浮動時,其自身將脫離包含塊。其現象表現為:包含塊將無法包裹住浮動子項目;

  空標籤方式:

    .clearfix{clear:both;}

    <div class="clearfix"></div>

  BFC方式:  

    .clearfix{*zoom:1;overflow:hidden;} 

  虛擬元素方式:

     .clearfix{*zoom:1;}

    .clearfix:after{display:block;clear:both;visibility:hidden;content:"/0020";overflow:hidden;}

   空標籤方式:多一個空白的div,代碼看真很不爽;

  BFC(Block Formatting Context):內容會溢出

  虛擬元素方法:perfect

6、屬性值的拆開和縮寫

  屬性:background,padding,margin,font,border

  所有的css屬性縮寫規則都是:上右下左;如果3個是:上 、左右、下;如果2個是:上下、左右

  書寫拆開寫的情況:只需要其中一個屬性、整合覆蓋其中一個屬性;

  font中屬性的放置順序是要嚴格遵守的,Font:font-style font-weight font-size font-familiy;(註:font-size和font-family是font的必須屬性,並且font-size一定要放在font-family的前面)

7、偽類與虛擬元素

  偽類

    <ul>

      <li>111</li>

      <li>222</li>

    <ul>

  選擇ul的第一個li,這個很熟悉用first-chid

  在官方文檔中偽類用classify來描述,而偽對象用create。從這裡我們就能明白它們的區別:

  偽對象則代表了某個元素的子物件,這個子物件雖然在邏輯上存在,但卻並不實際存在於文檔樹中。
  就像上文中的first-line,在DOM中其實並不存在。我們經常用的:before :after也屬於偽對象。

  偽類則是實際上已經存在,比如li就顯示存在於DOM中,我們要選擇它就是相當於在已經存在的對象上添加新類別。

  根本區別是:它們是否創造裡新的元素(抽象),如果需要添加新元素加以標識,就算虛擬元素,如果需要在既有的元素上添加類別,就是偽類。

  偽類:用來表示一些元素的動態狀態;

  虛擬元素:代表某個元素的子項目,這個子項目雖然邏輯上存在,但不實際存在dom文檔中;

  CSS Selector Level 3 為了區分這兩者的混淆,而特意用冒號加以區分:

    偽類用一個冒號表示 :first-child

    虛擬元素則使用兩個冒號表示 ::first-line

  為了相容低版本,偽類和虛擬元素都用單冒號。

  偽類:E:link,E:visited,E:hover,E:active,E:focus,E:first-child,E:last-child,E:nth-child(n),E:nth-last-chlid

  偽對象:E:first-letter,E:first-line,E:before,E:after,E:selection

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

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.