利用 CSS3 構建一個氣泡對話方塊

來源:互聯網
上載者:User

標籤:

這是一篇CSS3教程 http://www.maiziedu.com/course/228/,主要講述在不使用圖片的情況下如何使用CSS3 建立映像效果。

使用漸進增強開發方式,因此一開始的介面只要擁有基本樣式即可。基本的評論區介面樣式如下:

現在我們來逐步完善這個部落格的評論地區。

 

word-wrap

當使用者在評論區留下一長串的 URL 時,有可能會出現以下情況。


此時需要使用 word-wrap,使用 word-wrap 的原因是基於 Webkit 核心的瀏覽器以及 IE 在遇到”/“時並不會自動換行,且所有主流瀏覽器遇到“_”也不會自動換行,因此需要使用 word-wrpa 屬性賦值為 break-word。這個屬性允許文本在詞內斷開。

1

2

word-wrap: break-word;

 

border-radius

通過設定 border-radius 實現圓角效果。使用 CSS3 屬性即可,減少對圖片的依賴,加快使用者訪問速度。設定時需要注意瀏覽器的支援:

1

2

3

4

  -moz-border-radius: 20px;

  -webkit-border-radius: 20px;

  border-radius: 20px;

 

利用邊框建立圖形效果

平常在使用邊框的時候,我們往往只是對邊框的寬度,顏色以及邊框樣式進行設定,但是邊框還有一種使用方法。仔細觀察下面圖片:

可以看到個方向的邊框在交界處會呈現一個特殊的交界線,因此實現以下代碼會出現如下效果:

div {

    border-color: red green blue orange;

    border-style: solid;

    border-width: 20px;

    width: 0;

    height: 0;

}

 


在此基礎上通過調整各邊框的顏色以及寬度即可產生一個小三角形表徵圖。

::before 和 ::after

某些情況下我們希望通過 CSS 產生一些不重要但能美化介面的內容,此時就可以使用虛擬元素 ::before 和 ::after 指定內容的插入位置。比如我們希望給頁面上的每個圖片標題都增加“(圖)”這個首碼,此時你可以使用以下的 CSS:

1

2

3

4

.caption::before {

content:“(圖)”

}

 

結合上面提到的邊框建立圖形效果,CSS 代碼如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

blockquote::after {

  content: "\00a0";

  display: block;

  position: absolute;

  top: 20px;

  left: -20px;

  width: 0;

  height: 0;

  border-width: 10px 20px 10px 0;

  border-style: solid;

  border-color: transparent #A6DADC transparent transparent;

}

 

目前我們的部落格評論區介面如下:

利用 RGBA 或者 HSLA 實現半透明背景

在 CSS3 中,我們可以使用下面兩種方法設定顏色。

RGBA,即“紅色、綠色、藍色和 Alpha 透明度”

前三個參數的取值為 0 ~ 255 或者 0% ~ 100%

最後一個參數取值為 0 ~ 1

HSLA,即“色調、飽和度、亮度和 Alpha 透明度”

第一個參數的取值為 0 ~ 360

第二和第三個參數的取值為 0% ~ 100%

最後一個參數取值為 0 ~ 1

以上兩種方法都可以設定背景的透明度,但是需要注意的是,opacity 屬性的作用是使得整個元素的透明度發生變化,而不僅僅是背景。

使用背景透明的效果:

1

2

background-color: hsla(182,44%,76%,.5);

 

使用 opacity 透明的效果:


box-shadow

無需使用圖片,秩序通過設定介面的陰影製作效果,可以增強介面的立體感。增加以下 CSS 代碼:

1

2

3

4

-moz-box-shadow: 1px 1px 2px hsla(0,0%,0%,.3);

-webkit-box-shadow: 1px 1px 2px hsla(0,0%,0%,.3);

box-shadow: 1px 1px 2px hsla(0,0%,0%,.3);

 

box-shadow 參數含義:

第一個值表示相對於盒容器的水平位移

第二個值表示垂直位移

第三個值表示模糊半徑,指定有多少像素的陰影被展開

第四個值是陰影的顏色

配合偽類 :hover 增強立體感

增加下面的 CSS 代碼:

1

2

3

4

5

6

7

8

blockquote:hover {

  top: -2px;

  left: -2px;

  -moz-box-shadow: 3px 3px 2px hsla(0,0%,0%,.3);

  -webkit-box-shadow: 3px 3px 2px hsla(0,0%,0%,.3);

  box-shadow: 3px 3px 2px hsla(0,0%,0%,.3);

}

 

當滑鼠在文字框上方懸停時,通過改變陰影位移營造一種動態感覺,增強立體感。


同樣的,也可以通過 text-shadow 給文字添加陰影製作效果。但這些陰影製作效果不應該濫用,否則只會起到反面效果。

transform

transform 屬性是 3D 變形模組的一部分,常見的 transform 屬性有以下幾個:

translate,移動位置

scale,縮放元素

rotate,旋轉元素

skew,傾斜元素

我們來給帳戶圖片進行旋轉:

1

2

3

4

5

6

.comment-meta img {

  -moz-transform: rotate(-5deg);

  -webkit-transform: rotate(-5deg);

  transform: rotate(-5deg);

}

 

原文來自:技術學習小組

利用 CSS3 構建一個氣泡對話方塊

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.