bÀi 5 làm việc với css3 - giáo trình fpt

31
BÀI 5 LÀM VIỆC VỚI CSS3

Upload: hoc-lap-trinh-web

Post on 02-Jul-2015

1.593 views

Category:

Documents


12 download

DESCRIPTION

Tổng quan về CSS3 Làm việc với các thuộc tính mới trong CSS3: Border-radius Border-image Gradient Transform, transition, animation Làm việc với font web Chèn nhiều hình nền với CSS3 Tổng quan về CSS3 Làm việc với các thuộc tính mới trong CSS3: Border-radius Border-image Gradient Transform, transition, animation Làm việc với font web Chèn nhiều hình nền với CSS3

TRANSCRIPT

Page 1: BÀI 5 Làm việc với CSS3 - Giáo trình FPT

BÀI 5LÀM VIỆC VỚI CSS3

Page 2: BÀI 5 Làm việc với CSS3 - Giáo trình FPT

NHẮC LẠI BÀI TRƯỚC

Chèn các thành phần video, audio vào trangĐiều khiển video với JavascriptLàm quen với thành phần canvasSử dụng thành phần cavas để thực hiện:

Vẽ hình và đườngÁp dụng màu và cọ fradientThực hiện tạo hình động

Chèn các thành phần video, audio vào trangĐiều khiển video với JavascriptLàm quen với thành phần canvasSử dụng thành phần cavas để thực hiện:

Vẽ hình và đườngÁp dụng màu và cọ fradientThực hiện tạo hình động

Slide 5 - Làm việc với CSS3 2

Page 3: BÀI 5 Làm việc với CSS3 - Giáo trình FPT

MỤC TIÊU BÀI HỌC

Tổng quan về CSS3Làm việc với các thuộc tính mới trong CSS3:

Border-radiusBorder-imageGradient

Transform, transition, animationLàm việc với font webChèn nhiều hình nền với CSS3

Tổng quan về CSS3Làm việc với các thuộc tính mới trong CSS3:

Border-radiusBorder-imageGradient

Transform, transition, animationLàm việc với font webChèn nhiều hình nền với CSS3

Slide 5 - Làm việc với CSS3 3

Page 4: BÀI 5 Làm việc với CSS3 - Giáo trình FPT

TỔNG QUAN VỀ CSS3

Page 5: BÀI 5 Làm việc với CSS3 - Giáo trình FPT

TỔNG QUAN VỀ CSS3

Là tiêu chuẩn mới nhất của CSSHoàn toàn tương thích với các phiên bản trướcCSS3 được chia thành các module, các thành phầncũ được chia nhỏ và bổ sung các thành phần mới

Là tiêu chuẩn mới nhất của CSSHoàn toàn tương thích với các phiên bản trướcCSS3 được chia thành các module, các thành phầncũ được chia nhỏ và bổ sung các thành phần mới

Slide 5 - Làm việc với CSS3 5

Page 6: BÀI 5 Làm việc với CSS3 - Giáo trình FPT

TỔNG QUAN VỀ CSS3

Một số module quan trọng trong CSS3:SelectorsBox ModelBackgrounds and BordersText Effects2D/3D TransformationsAnimationsMultiple Column LayoutUser Interface

Một số module quan trọng trong CSS3:SelectorsBox ModelBackgrounds and BordersText Effects2D/3D TransformationsAnimationsMultiple Column LayoutUser Interface

Slide 5 - Làm việc với CSS3 6

Page 7: BÀI 5 Làm việc với CSS3 - Giáo trình FPT

NHỮNG THUỘC TÍNH MỚI TRONG CSS3

Page 8: BÀI 5 Làm việc với CSS3 - Giáo trình FPT

BORDER-RADIUS

Border-radius:

Border-radius: tạo ra góc bo tròn cho đường viền-webkit-border-radius: giúp IE9+ hỗ trợ-moz-border-radius: giúp Firefox hỗ trợ

.specialsale {width: 400px;background-color:#D67E5C;border: 2px #773636 solid;-webkit-border-radius: 24px;-moz-border-radius: 24px;border-radius: 24px;

}

Border-radius:

Border-radius: tạo ra góc bo tròn cho đường viền-webkit-border-radius: giúp IE9+ hỗ trợ-moz-border-radius: giúp Firefox hỗ trợ

Slide 5 - Làm việc với CSS3 8

.specialsale {width: 400px;background-color:#D67E5C;border: 2px #773636 solid;-webkit-border-radius: 24px;-moz-border-radius: 24px;border-radius: 24px;

}

Page 9: BÀI 5 Làm việc với CSS3 - Giáo trình FPT

BORDER-RADIUS

Cách viết đầy đủ của thuộc tính Border-radius:border-radius: 2em 1em 4em / 0.5em 3em;

Cách viết đầy đủ của thuộc tính Border-radius:

Slide 5 - Làm việc với CSS3 9

border-top-left-radius: 2em 0.5em;border-top-right-radius: 1em 3em;border-bottom-right-radius: 4em 0.5em;border-bottom-left-radius: 1em 3em;

Page 10: BÀI 5 Làm việc với CSS3 - Giáo trình FPT

BORDER-IMAGE

Border-image: đặt border dạng hình ảnh

Cú pháp:

• Slice: phần bù bên trong củahình border• Outset: số lượng diện tích màhình nền border mở rộng

border: 20px #773636 solid;-webkit-border-image: url("images/border-bg.png") 33% repeat;-moz-border-image: url("images/border-bg.png") 33% repeat;border-image: url("images/border-bg.png“) 33% repeat;

Border-image: đặt border dạng hình ảnh

Cú pháp:

• Slice: phần bù bên trong củahình border• Outset: số lượng diện tích màhình nền border mở rộng

Slide 5 - Làm việc với CSS3 10

border-image: source slice width outsetrepeat;

Page 11: BÀI 5 Làm việc với CSS3 - Giáo trình FPT

HÌNH NỀN VỚI CSS3

Thực hiện chèn nhiều hình ảnh làm nền cho web

Slide 5 - Làm việc với CSS3 11

Page 12: BÀI 5 Làm việc với CSS3 - Giáo trình FPT

HÌNH NỀN VỚI CSS3

Thực hiện:body {

font-family: "Trebuchet MS", Tahoma, Arial,sans-serif;font-size:100%;background-color: #B3BBCA;background-image: url(images/bg1.png),url(images/bg2.png),

url(images/bg3.png);}

Slide 5 - Làm việc với CSS3 12

body {font-family: "Trebuchet MS", Tahoma, Arial,sans-serif;font-size:100%;background-color: #B3BBCA;background-image: url(images/bg1.png),url(images/bg2.png),

url(images/bg3.png);}

Page 13: BÀI 5 Làm việc với CSS3 - Giáo trình FPT

HÌNH NỀN VỚI CSS3

Chèn nhiều hình nền với vị trí chính xác:.specialsale {

width: 550px;border: 2px #773636 solid;background-image:

url(images/blueberry.jpg),url(images/orange.png);background-repeat: no-repeat;background-position: top right, 0 -45px;

}

Slide 5 - Làm việc với CSS3 13

.specialsale {width: 550px;border: 2px #773636 solid;background-image:

url(images/blueberry.jpg),url(images/orange.png);background-repeat: no-repeat;background-position: top right, 0 -45px;

}

Page 14: BÀI 5 Làm việc với CSS3 - Giáo trình FPT

THUỘC TÍNH MỚI TRONG CSS3

CSS3 Gradient:Gradient là thành phần phổ biến trên trang webGradient thường bao gồm:

• 2 điểm dừng màu (color stop)• 1 điểm chuyển màu

Trước khi có CSS3:

Với CSS3: sử dụng các thuộc tính định nghĩa gradient:• Linear-gradient• Radial-gradient

CSS3 Gradient:Gradient là thành phần phổ biến trên trang webGradient thường bao gồm:

• 2 điểm dừng màu (color stop)• 1 điểm chuyển màu

Trước khi có CSS3:

Với CSS3: sử dụng các thuộc tính định nghĩa gradient:• Linear-gradient• Radial-gradient

Slide 5 - Làm việc với CSS3 14

Vẽ gradient trong cácchương trình đồ họa

Xuất thành dạng hìnhảnh sử dụng trên web

Background-image

Page 15: BÀI 5 Làm việc với CSS3 - Giáo trình FPT

THUỘC TÍNH MỚI TRONG CSS3

Tạo gradient với CSS3

.gradient {width: 450px;border: #000 4px solid;background-color:#fff;background-image: -moz-linear-gradient(white, black);background-image: -webkit-gradient (linear, 0 0, 0 100%, from

(white), to (black));}

Slide 5 - Làm việc với CSS3 15

.gradient {width: 450px;border: #000 4px solid;background-color:#fff;background-image: -moz-linear-gradient(white, black);background-image: -webkit-gradient (linear, 0 0, 0 100%, from

(white), to (black));}

Page 16: BÀI 5 Làm việc với CSS3 - Giáo trình FPT

THUỘC TÍNH MỚI TRONG CSS3

Thêm góc độ và nhiều điểm dừng:• Mục đích:

– Tăng thêm sự đa dạng của gradient– Kiểm soát tốt hơn

background-image: -moz-linear-gradient(45deg, white, green, black);

Slide 5 - Làm việc với CSS3 16

background-image: -moz-radial-gradient(60% 60%, circle closest-corner, white, black);

Page 17: BÀI 5 Làm việc với CSS3 - Giáo trình FPT

THUỘC TÍNH MỚI TRONG CSS3

Lặp lại gradient:

Sử dụng hệ màu RGBA để định nghĩa gradient:

background-image: -moz-repeating-linear-gradient(left, white 80%, black,white);

Lặp lại gradient:

Sử dụng hệ màu RGBA để định nghĩa gradient:

Slide 5 - Làm việc với CSS3 17

.gradient h1 {margin:0; font-weight:bold; font-size:48px; color:#C33; text-align:center;background-image: -moz-linear-gradient(rgba(174, 185, 196, 0.9),

rgba(110,124, 140, 0.9));}

Page 18: BÀI 5 Làm việc với CSS3 - Giáo trình FPT

TRANSFORM – TRANSITION - ANIMATION

Page 19: BÀI 5 Làm việc với CSS3 - Giáo trình FPT

TRANSFORM – TRANSITION - ANIMATION

Transform:Cho phép xoay, kéo dãn, kéo nghiêng thành phầntrên trang

Slide 5 - Làm việc với CSS3 19

.transform { margin-top:2em; -webkit-transform: rotate (45deg); -moz-transform:rotate(-45deg); transform: rotate(-45deg)}

Page 20: BÀI 5 Làm việc với CSS3 - Giáo trình FPT

TRANSFORM – TRANSITION - ANIMATION

Transition:Sử dụng link để thực hiện

Transition

transition-duration: quy định thời gian chuyển đổitransition-timing-function: xác định tốc độ đườngcong của hiệu ứng chuyển tiếp.

a.transition {padding: 5px 0px;background: #C9C;-webkit-transition-property: background;-webkit-transition-duration: 1s;-webkit-transition-timing-function: ease-out;}

Transition:Sử dụng link để thực hiện

Transition

transition-duration: quy định thời gian chuyển đổitransition-timing-function: xác định tốc độ đườngcong của hiệu ứng chuyển tiếp.

Slide 5 - Làm việc với CSS3 20

a.transition {padding: 5px 0px;background: #C9C;-webkit-transition-property: background;-webkit-transition-duration: 1s;-webkit-transition-timing-function: ease-out;}

Page 21: BÀI 5 Làm việc với CSS3 - Giáo trình FPT

TRANSFORM – TRANSITION - ANIMATION

Một số giá trị của transition-timing-function

Giá trị Giải nghĩa

linear Chỉ định một hiệu ứng chuyển tiếp với cùng một tốc độtừ đầu đến cuối (tương đương với kiểu cubic-bezier(0,0,1,1))

Ease Chỉ định một hiệu ứng chuyển tiếp với một sự khởi đầuchậm, sau đó nhanh chóng, sau đó kết thúc chậm

Slide 5 - Làm việc với CSS3 21

Chỉ định một hiệu ứng chuyển tiếp với một sự khởi đầuchậm, sau đó nhanh chóng, sau đó kết thúc chậm

ease-in Chỉ định một hiệu ứng chuyển tiếp với một khởi đầuchậm

ease-out Chỉ định một hiệu ứng chuyển tiếp với một kết thúcchậm (tương đương với cubic-bezier (0,0,0.58,1))

ease-in-out Chỉ định một hiệu ứng chuyển tiếp với một sự khởi đầuchậm và kết thúc

cubic-bezier(n,n,n,n) Xác định giá trị của riêng bạn trong các chức năng khốibezier. Các giá trị có thể là giá trị số 0-1

Page 22: BÀI 5 Làm việc với CSS3 - Giáo trình FPT

TRANSFORM – TRANSITION - ANIMATION

CSS animation#spin {margin-top:2em;-webkit-animation-name: imageRotate;-webkit-animation-duration: .5s;-webkit-animation-iteration-count: 2;-webkit-animation-timing-function: ease-in-out;}@-webkit-keyframes imageRotate {from {-webkit-transform:rotate(0deg);}to {-webkit-transform:rotate(360deg);}}

Slide 5 - Làm việc với CSS3 22

#spin {margin-top:2em;-webkit-animation-name: imageRotate;-webkit-animation-duration: .5s;-webkit-animation-iteration-count: 2;-webkit-animation-timing-function: ease-in-out;}@-webkit-keyframes imageRotate {from {-webkit-transform:rotate(0deg);}to {-webkit-transform:rotate(360deg);}}

Page 23: BÀI 5 Làm việc với CSS3 - Giáo trình FPT

TRANSFORM – TRANSITION - ANIMATION

Định nghĩa các thuộc tính của CSS animation:

Thuộc tính Định nghĩa

animation-name Xác định tên cho các keyframe động

animation-duration Xác định thời gian cần thiết để hoàn thànhchu kỳ của hình động (giây/ mili giây)

animation-iteration-count xác định bao nhiêu lần một hình ảnh độngnên được chơi.

Slide 5 - Làm việc với CSS3 23

animation-iteration-count xác định bao nhiêu lần một hình ảnh độngnên được chơi.

animation-timing-function xác định tốc độ đường cong của hoạt hình.Các đường cong tốc độ xác định Thời gian(TIME) hoạt hình sử dụng để thay đổi từ mộttập hợp các phong cách CSS khác.

Page 24: BÀI 5 Làm việc với CSS3 - Giáo trình FPT

@keyframe

Hỗ trợ tạo hình ảnh dạng động/ hoạt hìnhVới cách này, hình ảnh động được tạo ra bằng cách:thay đổi thuộc tính từ tập hợp style này sang thuộctính của tập hợp style khácCác trình duyệt hỗ trợ:

Cú pháp:

Hỗ trợ tạo hình ảnh dạng động/ hoạt hìnhVới cách này, hình ảnh động được tạo ra bằng cách:thay đổi thuộc tính từ tập hợp style này sang thuộctính của tập hợp style khácCác trình duyệt hỗ trợ:

Cú pháp:

Slide 5 - Làm việc với CSS3 24

@keyframes animationname {keyframes-selector {css-styles;}}

Giá trị Mô tảAnimationname Tên của hình động

keyframes-selector Tỷ lệ phần trăm thời gian chuyển động

css-styles Một hoặc nhiều thuộc tính CSS quy định

Page 25: BÀI 5 Làm việc với CSS3 - Giáo trình FPT

@keyframe

Ví dụ:@keyframes mymove{ 0% {top:0px;}25% {top:200px;}50% {top:100px;}75% {top:200px;}100% {top:0px;}}

@-moz-keyframes mymove /* Firefox */{0% {top:0px;}25% {top:200px;}50% {top:100px;}75% {top:200px;}100% {top:0px;}}

Slide 5 - Làm việc với CSS3 25

@-webkit-keyframes mymove /* Safari and Chrome*/{0% {top:0px;}25% {top:200px;}50% {top:100px;}75% {top:200px;}100% {top:0px;}}

@-o-keyframes mymove /* Opera */{0% {top:0px;}25% {top:200px;}50% {top:100px;}75% {top:200px;}100% {top:0px;}}

Sử dụng file exam_keyframe.html để kiểm tra trên trình duyệtSử dụng file exam_keyframe.html để kiểm tra trên trình duyệt

Page 26: BÀI 5 Làm việc với CSS3 - Giáo trình FPT

@keyframe

Mở rộng:Thay đổi nhiều style trong một hình động

Thay đổi nhiều keyframe selectors với nhiều thuộctính CSS

Sử dụng file exam_morestyle.html để kiểm tra trên trình duyệt

Mở rộng:Thay đổi nhiều style trong một hình động

Thay đổi nhiều keyframe selectors với nhiều thuộctính CSS

Slide 5 - Làm việc với CSS3 26

Sử dụng file exam_morekeyframe.html để kiểm tra trên trình duyệt

Page 27: BÀI 5 Làm việc với CSS3 - Giáo trình FPT

FONT WEB

Page 28: BÀI 5 Làm việc với CSS3 - Giáo trình FPT

FONT WEB

@font-face:Cho phép nhúng font chữ vào trang bằng cách khaibáo font đó và đặt font chữ trên web serverLà giải pháp khắc phục việc phải cài đặt font chữ trênmáy tính

@font-face {font-family: Sigmar;src: url('SigmarOne.otf');}h2 {font-size:1.125em;letter-spacing:0.2em;font-weight:lighter;text-transform:uppercase;font-family: Sigmar, Georgia, Palatino,Times New Roman, serif;}

@font-face:Cho phép nhúng font chữ vào trang bằng cách khaibáo font đó và đặt font chữ trên web serverLà giải pháp khắc phục việc phải cài đặt font chữ trênmáy tính

Slide 5 - Làm việc với CSS3 28

@font-face {font-family: Sigmar;src: url('SigmarOne.otf');}h2 {font-size:1.125em;letter-spacing:0.2em;font-weight:lighter;text-transform:uppercase;font-family: Sigmar, Georgia, Palatino,Times New Roman, serif;}

Page 29: BÀI 5 Làm việc với CSS3 - Giáo trình FPT

FONT WEB

Kiểu định dạng font chữ:

Kiểu định dạng Giải thích Trình duyệt, HĐH hỗ trợOpen Type (OTF) Định dạng phổ biến

Hỗ trợ glyphIE9, FF3.5, Chrome4,Safari 3.1, Opera 10,Android2.2TrueType (TTF) nền tảng tương thích

và cung cấp các điều khiển tinhvi sắp chữ,

Slide 5 - Làm việc với CSS3 29

nền tảng tương thíchvà cung cấp các điều khiển tinhvi sắp chữ,

SVG định dạng vector dựa trên hiệnnay chỉ hỗ trợ iOS của AppleiPod.

FF3.4, chrome0.3, safari3.1, opera9, iOS1

Web Open Font Format (WOFF)

bao gồm nhiều khả năngnén các tập tin font chữ và tốiưu hóa

IE9, FF3.6, chrome 5

Embedded OpenType(EOT)

một biến thể trênOpenType tạo ra bởi Microsoftvà phần lớnđược hỗ trợ bởi InternetExplorer.

IE5

Page 30: BÀI 5 Làm việc với CSS3 - Giáo trình FPT

FONT WEB

Sử dụng dịch vụ web để tạo nhiều font@font-face {font-family: 'SigmarRegular';src: url('fonts/sigmarone-webfont.eot');src: url('fonts/sigmarone-webfont.eot?#iefix') format('embedded-opentype'),url('fonts/sigmarone-webfont.woff')format('woff'),url('fonts/sigmarone-webfont.ttf')format('truetype'),url('fonts/sigmarone-webfont.svg#SigmarRegular')format('svg');font-weight: normal;font-style: normal;}

Slide 5 - Làm việc với CSS3 30

Sử dụng site http://www.fontsquirrel.com/để tạo file .css có chứa font được nhúng

@font-face {font-family: 'SigmarRegular';src: url('fonts/sigmarone-webfont.eot');src: url('fonts/sigmarone-webfont.eot?#iefix') format('embedded-opentype'),url('fonts/sigmarone-webfont.woff')format('woff'),url('fonts/sigmarone-webfont.ttf')format('truetype'),url('fonts/sigmarone-webfont.svg#SigmarRegular')format('svg');font-weight: normal;font-style: normal;}

Page 31: BÀI 5 Làm việc với CSS3 - Giáo trình FPT

TỔNG KẾT

Không nên sử dụng kết hợp thuộc tính border-imagevà thuộc tính border-radiusGradient trong CSS giống với gradient được tạo ratrong các chương trình đồ họa: có điểm dừng màuvà điểm chuyển màuCó thể tạo được nhiều điểm dừng màu và điểmchuyển màu để gradient phong phú hơnSử dụng giá trị vị trí: top, left, right, bottom để điềuchỉnh chính xác nhiều hình nền trong CSS

Không nên sử dụng kết hợp thuộc tính border-imagevà thuộc tính border-radiusGradient trong CSS giống với gradient được tạo ratrong các chương trình đồ họa: có điểm dừng màuvà điểm chuyển màuCó thể tạo được nhiều điểm dừng màu và điểmchuyển màu để gradient phong phú hơnSử dụng giá trị vị trí: top, left, right, bottom để điềuchỉnh chính xác nhiều hình nền trong CSS

Slide 5 - Làm việc với CSS3 31