24
BÀI 6 LÀM VIỆC VỚI THÀNH PHẦN MỞ RỘNG CỦA CSS3

BÀI 6 Làm việc với thành phần mở rộng của CSS3 - Giáo trình FPT

Embed Size (px)

DESCRIPTION

Giới thiệu CSS3 Media Queries Làm việc với CSS3 layout dạng nhiều cột (Multicolumns) và cấu trúc hộp Flex (Flexboxes) CSS3 user interface

Citation preview

Page 1: BÀI 6 Làm việc với thành phần mở rộng của CSS3 - Giáo trình FPT

BÀI 6LÀM VIỆC VỚI THÀNH PHẦN MỞ RỘNG CỦA CSS3

Page 2: BÀI 6 Làm việc với thành phần mở rộng của CSS3 - Giáo trình FPT

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

Là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

Là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 6 - Làm việc với thành phần mở rộng của CSS3 2

Page 3: BÀI 6 Làm việc với thành phần mở rộng của CSS3 - Giáo trình FPT

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

Giới thiệu CSS3 Media QueriesLàm việc với CSS3 layout dạng nhiều cột (Multi-columns) và cấu trúc hộp Flex (Flexboxes)CSS3 user interface

Giới thiệu CSS3 Media QueriesLàm việc với CSS3 layout dạng nhiều cột (Multi-columns) và cấu trúc hộp Flex (Flexboxes)CSS3 user interface

Slide 6 - Làm việc với thành phần mở rộng của CSS3 3

Page 4: BÀI 6 Làm việc với thành phần mở rộng của CSS3 - Giáo trình FPT

CSS3 MEDIA QUERIES

Page 5: BÀI 6 Làm việc với thành phần mở rộng của CSS3 - Giáo trình FPT

CSS3 MEDIA QUERIES

Đối với tất cả các trình duyệt/ thiết bị giao tiếp vớimáy chủ lưu trữ website và tự được định dạng vớiuser agent StringCSS3 media queries:

Hình thức nhận biết thiết bịKiểm tra khả năng của người dùng truy cập vào trang webNhận biết (phát hiện) được: chiều cao, chiều rộng củatrình duyệt, thiết bị, thiết bị định hướng (phong cảnh/chân dung), độ phân giảiLà bước cải tiến của luật @media bằng cách kết hợp MediaType và các thông số khác như độ phân giải, kích thước,màu sắc,…

Đối với tất cả các trình duyệt/ thiết bị giao tiếp vớimáy chủ lưu trữ website và tự được định dạng vớiuser agent StringCSS3 media queries:

Hình thức nhận biết thiết bịKiểm tra khả năng của người dùng truy cập vào trang webNhận biết (phát hiện) được: chiều cao, chiều rộng củatrình duyệt, thiết bị, thiết bị định hướng (phong cảnh/chân dung), độ phân giảiLà bước cải tiến của luật @media bằng cách kết hợp MediaType và các thông số khác như độ phân giải, kích thước,màu sắc,…

Slide 6 - Làm việc với thành phần mở rộng của CSS3 5

Page 6: BÀI 6 Làm việc với thành phần mở rộng của CSS3 - Giáo trình FPT

CSS3 MEDIA QUERIES

Sử dụng CSS3 media queries để cung cấp layoutphù hợp với cho layout mobile@media only screen and (max-width: 480px) {body { padding: 5px; background-color:#FFF; background-image:url(images/smoothieworld_logo_mobile.jpg); background-repeat:no-repeat;}

Sử dụng CSS3 media queries để cung cấp layoutphù hợp với cho layout mobile

Slide 6 - Làm việc với thành phần mở rộng của CSS3 6

@media only screen and (max-width: 480px) {body { padding: 5px; background-color:#FFF; background-image:url(images/smoothieworld_logo_mobile.jpg); background-repeat:no-repeat;}

Quy định chiều rộng lớn nhất khihiển thị : 480px

Sử dụng min-width, max-width để khai báo chiềurộng hiển thị sẽ chỉ trong khoảng

Page 7: BÀI 6 Làm việc với thành phần mở rộng của CSS3 - Giáo trình FPT

CSS3 MEDIA QUERIES

Quy định chiều rộng của trang được hiển thị trênthiết bị@media only screen and (max-device-width: 480px)

Slide 6 - Làm việc với thành phần mở rộng của CSS3 7

Kết quả hiển thị trên trình duyệt của iPhone

Page 8: BÀI 6 Làm việc với thành phần mở rộng của CSS3 - Giáo trình FPT

CSS3 MEDIA QUERIES

Điều hướng trên thiết bị di động:Nên thiết kế vị trí điều hướng đơn giản hơn khi hiểnthị trên trình duyệt máy tínhGợi ý:

• Nên có, nên để gần đầu màn hình để dễ truy cập• Lặp lại điều hướng ở phía dưới trang• Với thiết bị cảm ứng, sử dụng kích thước lớn cho link

của điều hướng• Tránh điều hướng từ hình ảnh, nên dựa trên danh sách

chuyển hướng dạng CSS

Điều hướng trên thiết bị di động:Nên thiết kế vị trí điều hướng đơn giản hơn khi hiểnthị trên trình duyệt máy tínhGợi ý:

• Nên có, nên để gần đầu màn hình để dễ truy cập• Lặp lại điều hướng ở phía dưới trang• Với thiết bị cảm ứng, sử dụng kích thước lớn cho link

của điều hướng• Tránh điều hướng từ hình ảnh, nên dựa trên danh sách

chuyển hướng dạng CSS

Slide 6 - Làm việc với thành phần mở rộng của CSS3 8

Page 9: BÀI 6 Làm việc với thành phần mở rộng của CSS3 - Giáo trình FPT

CSS3 MEDIA QUERIES

Ví dụ:#mainnav {height: auto;}#mainnav li {

float: none;width: auto;text-align: left;border-top: 1px grey

solid;border-bottom: 1px grey

solid;}

Slide 6 - Làm việc với thành phần mở rộng của CSS3 9

#mainnav {height: auto;}#mainnav li {

float: none;width: auto;text-align: left;border-top: 1px grey

solid;border-bottom: 1px grey

solid;}

Page 10: BÀI 6 Làm việc với thành phần mở rộng của CSS3 - Giáo trình FPT

CSS3 LAYOUT

Page 11: BÀI 6 Làm việc với thành phần mở rộng của CSS3 - Giáo trình FPT

CSS3 LAYOUT

Layout nhiều cột sử dụng CSS3:CSS3 cung cấp các thuộc tính để thuận tiện cho việcthiết kế layout dạng nhiều cột:

• Column-count: quy định cụ thể số lượng các cột mộtphần tử được chia thành.

• Column-width: quy định cụ thể chiều rộng của các cột• Column-gap: quy định khoảng cách giữa các cột• Column-rule: là thuộc tính viết tắt, cho phép thiết lập

tất cả các thuộc tính: chiều rộng, style, màu sắc giữacác cột

Layout nhiều cột sử dụng CSS3:CSS3 cung cấp các thuộc tính để thuận tiện cho việcthiết kế layout dạng nhiều cột:

• Column-count: quy định cụ thể số lượng các cột mộtphần tử được chia thành.

• Column-width: quy định cụ thể chiều rộng của các cột• Column-gap: quy định khoảng cách giữa các cột• Column-rule: là thuộc tính viết tắt, cho phép thiết lập

tất cả các thuộc tính: chiều rộng, style, màu sắc giữacác cột

Slide 6 - Làm việc với thành phần mở rộng của CSS3 11

Page 12: BÀI 6 Làm việc với thành phần mở rộng của CSS3 - Giáo trình FPT

CSS3 LAYOUT

Cách thiết lập:#introduction-content{width: 600px;-moz-column-count:3;-webkit-column-count: 3;column-count: 3;}

Slide 6 - Làm việc với thành phần mở rộng của CSS3 12

#introduction-content{width: 600px;-moz-column-count:3;-webkit-column-count: 3;column-count: 3;}

Page 13: BÀI 6 Làm việc với thành phần mở rộng của CSS3 - Giáo trình FPT

CSS3 LAYOUT

Thiết lập layout dạng hộp Flexible (hộp linh hoạt):Là dạng bố cục mới trong CSS3Đại diện cho một trong bốn dạng layout đang đượchỗ trợ bởi CSS2.1 (bố cục block – khối, bố cục inline –nội tuyến, bố cục table – bảng và bố cục posisioned –theo vị trí xác định)

Thiết lập layout dạng hộp Flexible (hộp linh hoạt):Là dạng bố cục mới trong CSS3Đại diện cho một trong bốn dạng layout đang đượchỗ trợ bởi CSS2.1 (bố cục block – khối, bố cục inline –nội tuyến, bố cục table – bảng và bố cục posisioned –theo vị trí xác định)

Slide 6 - Làm việc với thành phần mở rộng của CSS3 13

#introduction-content { width: 600px; height: 150px; border: 1px solid#821738; display: -webkit-box; -webkit-box-orient: horizontal; display: -moz-box; -moz-box-orient: horizontal;}

Page 14: BÀI 6 Làm việc với thành phần mở rộng của CSS3 - Giáo trình FPT

CSS3 LAYOUT

Flexbox cung cấp các bộ chứa giúp tạo bố cục linh hoạt, cótác dụng thay đổi và tương tác với các phần tử khác trêntrang hoặc với phần nội dung bên trong flexboxMột số thuộc tính cần chú ý khi sử dụng flexbox:

Display định nghĩa cách hiển thị của phần tử HTML

Slide 6 - Làm việc với thành phần mở rộng của CSS3 14

Giá trị Mô tảNone Các phần tử sẽ không được hiển thịbox (or flex-box) Các phần tử hiển thị theo mô hình flexbox

block Các phần tử hiển thị theo mô hình khối

inline Mặc định. Các phần tử hiển thị theo mô hình nội tuyếncấp cao

Page 15: BÀI 6 Làm việc với thành phần mở rộng của CSS3 - Giáo trình FPT

CSS3 LAYOUT

Một số thuộc tính cần chú ý khi sử dụng flexbox:box-orient xác định phần tử con của box được đặt theochiều ngang hay dọcCấu trúc:

box-orient: horizontal|vertical|inline-axis|block-axis|inherit;

Slide 6 - Làm việc với thành phần mở rộng của CSS3 15

Giá trị Mô tảhorizontal Các phần tử con được hiển thị theo chiều ngang

vertical Các phần tử con được hiển thị theo chiều dọc

inline-axis Các phần tử con hiển thị dọc trục nội tuyến

block-axis Các phần tử con hiển thị dọc theo trục khối

inherit Kế thừa từ các thành phần cha

Page 16: BÀI 6 Làm việc với thành phần mở rộng của CSS3 - Giáo trình FPT

CSS3 LAYOUT

Một số thuộc tính cần chú ý khi sử dụng flexbox:box-pack xác định phần tử con sẽ được đặt khi khíchthước của box thay đổiCấu trúc:

box-pack: start|end|center|justify;

Slide 6 - Làm việc với thành phần mở rộng của CSS3 16

Giá trị Mô tảstart Cạnh trái của phần tử con đầu tiên được đặt phía bên trái

end Cạnh phải của phần tử con cuối cùng được đặt phía bên phải

center Các phần tử con hiển thị với khoảng cách đồng đều, không gianthêm vào cả trước phần tử đầu tiên và sau phần tử cuối cùng

justify Các phần tử con hiển thị với khoảng cách đồng đều

Page 17: BÀI 6 Làm việc với thành phần mở rộng của CSS3 - Giáo trình FPT

CSS3 LAYOUT

Một số thuộc tính cần chú ý khi sử dụng flexbox:box-align xác định cách thức sắp xếp các phần tử concủa boxCấu trúc:

box-align: start|end|center|baseline|stretch;

Slide 6 - Làm việc với thành phần mở rộng của CSS3 17

Giá trị Mô tảstart Các phần tử con được căn theo cạnh trên của box

end Các phần tử con được căn theo cạnh dưới của box

center Các phần tử con hiển thị với khoảng cách đồng đều, không gianthêm vào cả vào phần trên và dưới của hộp

Baseline Các phần tử con được căn theo đường cơ sở của box

stretch Các phần tử con được kéo dài để phù hợp với box

Page 18: BÀI 6 Làm việc với thành phần mở rộng của CSS3 - Giáo trình FPT

CSS3 USER INTERFACE(GIAO DIỆN NGƯỜI DÙNG)

Page 19: BÀI 6 Làm việc với thành phần mở rộng của CSS3 - Giáo trình FPT

CSS3 USER INTERFACE

CSS3 cung cấp một số tính năng về phía ngườidùng:

Thay đổi kích thước thành phần trên trangThay đổi kích thước hộpPhác thảo

Các thuộc tính quy định:Resizebox-sizingoutline-offset

CSS3 cung cấp một số tính năng về phía ngườidùng:

Thay đổi kích thước thành phần trên trangThay đổi kích thước hộpPhác thảo

Các thuộc tính quy định:Resizebox-sizingoutline-offset

Slide 6 - Làm việc với thành phần mở rộng của CSS3 19

Page 20: BÀI 6 Làm việc với thành phần mở rộng của CSS3 - Giáo trình FPT

CSS3 USER INTERFACE

CSS3 resize:Quy định một thành phần có thể hay không thể thayđổi kích thước bởi người dùng

.show_boxre{ border:2px solid; padding:10px 40px; width:300px;resize:both; overflow:auto; }

Slide 6 - Làm việc với thành phần mở rộng của CSS3 20

Page 21: BÀI 6 Làm việc với thành phần mở rộng của CSS3 - Giáo trình FPT

CSS3 USER INTERFACE

CSS3 box-sizing:Cho xác định yếu tố phù hợp với một khu vực

CSS3:div.Container { width:30em; border:1em solid;}div.box{box-sizing: border-box; -moz-box-sizing:border-box; -webkit-box-sizing:border-box; width:50%; border:1em solid red; float:left;}HTML:<div class="container">

<div class="box">This div occupies the left half.</div><div class="box">This div occupies the right half.</div>

</div>

Slide 6 - Làm việc với thành phần mở rộng của CSS3 21

CSS3:div.Container { width:30em; border:1em solid;}div.box{box-sizing: border-box; -moz-box-sizing:border-box; -webkit-box-sizing:border-box; width:50%; border:1em solid red; float:left;}HTML:<div class="container">

<div class="box">This div occupies the left half.</div><div class="box">This div occupies the right half.</div>

</div>

Page 22: BÀI 6 Làm việc với thành phần mở rộng của CSS3 - Giáo trình FPT

CSS3 USER INTERFACE

CSS3 Outline Offset:Quy định một đường biên, bao phía bên ngoài đườngbiên mặc định2 cách tạo đường outline:

• không mất không gian• Không phải dạng hình chữ nhật

CSS3 Outline Offset:Quy định một đường biên, bao phía bên ngoài đườngbiên mặc định2 cách tạo đường outline:

• không mất không gian• Không phải dạng hình chữ nhật

Slide 6 - Làm việc với thành phần mở rộng của CSS3 22

Page 23: BÀI 6 Làm việc với thành phần mở rộng của CSS3 - Giáo trình FPT

CSS3 USER INTERFACE

CSS3 Outline Offset:div { margin:20px; width:150px; padding:10px; height:70px; border:2pxsolid black; outline:2px solid red; outline-offset:15px; }

<p><b>Note:</b> Internet Explorer and Opera does not support theoutline-offset property.</p>

<div>This div has an outline border 15px outside the border edge.</div>

Slide 6 - Làm việc với thành phần mở rộng của CSS3 23

div { margin:20px; width:150px; padding:10px; height:70px; border:2pxsolid black; outline:2px solid red; outline-offset:15px; }

<p><b>Note:</b> Internet Explorer and Opera does not support theoutline-offset property.</p>

<div>This div has an outline border 15px outside the border edge.</div>

Page 24: BÀI 6 Làm việc với thành phần mở rộng của CSS3 - Giáo trình FPT

TỔNG KẾT

Sử dụng CSS3 media queries để thiết kế layout phùhợp với trình duyệt, thiết bịCSS3 giúp người thiết kế tạo được dạng layoutnhiều cột hơn. Giúp bố trí thông tin thuận tiện, rõràng cho người dùngCSS3 cung cấp một số thuộc tính để tương tác vớingười dùng khi duyệt web. Người dùng có thể thayđổi kích thước các thành phần trên trang

Sử dụng CSS3 media queries để thiết kế layout phùhợp với trình duyệt, thiết bịCSS3 giúp người thiết kế tạo được dạng layoutnhiều cột hơn. Giúp bố trí thông tin thuận tiện, rõràng cho người dùngCSS3 cung cấp một số thuộc tính để tương tác vớingười dùng khi duyệt web. Người dùng có thể thayđổi kích thước các thành phần trên trang

Slide 6 - Làm việc với thành phần mở rộng của CSS3 24