Bài giảng Thiết kế và lập trình Website - Chương 2: Ngôn ngữ CSS - Dương Thành Phết
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Thiết kế và lập trình Website - Chương 2: Ngôn ngữ CSS - Dương Thành Phết", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- bai_giang_thiet_ke_va_lap_trinh_website_chuong_2_ngon_ngu_cs.pdf
Nội dung text: Bài giảng Thiết kế và lập trình Website - Chương 2: Ngôn ngữ CSS - Dương Thành Phết
- KHOA CAO ĐẲNG THỰC HÀNH THIẾT KẾ & LẬP TRÌNH WEBSITE (Chuyên ngành: Đồ Họa Đa Truyền Thông) Chương 2: NGÔN NGỮ CSS 1. Tổng quan về CSS 2. Các thuộc tính định dạng 3. Các thuộc tính khác 1 © Dương Thành Phết www.thayphet.net - phetcm@gmail.com
- 1. TỔNG QUAN VỀ CSS 1.1. Giới thiệu 1.2. Một số quy ước về cách viết CSS 2 © Dương Thành Phết www.thayphet.net - phetcm@gmail.com
- 1.1. GIỚI THIỆU CSS là gì? CSS (Cascading Style Sheets) là một ngôn ngữ quy định cách trình bày cho các tài liệu viết bằng HTML, XHTML, XML, SVG, hay UML, 3 © Dương Thành Phết www.thayphet.net - phetcm@gmail.com
- 1.1. GIỚI THIỆU Tại sao CSS? Cung cấp nhiều thuộc tính trình bày dành cho các đối tượng với sự sáng tạo trong kết hợp các thuộc tính giúp mang lại hiệu quả cao. Được hỗ trợ bởi tất cả các trình duyệt và hiển thị “như nhau” trên mọi hệ điều hành. Đưa ra phương thức áp dụng từ một file CSS ở ngoài. Có hiệu quả đồng bộ khi tạo một website có hàng trăm trang hay khi muốn thay đổi một thuộc tính trình bày nào đó. Được cập nhật liên tục mang lại các trình bày phức tạp và tinh vi hơn. 4 © Dương Thành Phết www.thayphet.net - phetcm@gmail.com
- 1.1. GIỚI THIỆU Học CSS cần những gì? - Có là một kiến thức về HTML. - Một trình soạn thảo văn bản để bạn có thể viết mã CSS như: Notepad trong Windows, Pico trong Linux, Simple Text trong Mac. Hay từ các chương trình DreamWeaver, FrontPage, Golive, - Một trình duyệt web. 5 © Dương Thành Phết www.thayphet.net - phetcm@gmail.com
- 1.2. MỘT SỐ QUY ƯỚC VỀ CÁCH VIẾT CSS Cú pháp CSS: Selector { property:value; } Trong đó: + Selector: Đối tượng sẽ áp dụng trình bày. + Property: Các thuộc tính quy định cách trình bày. Các thuộc tính thì phải dùng một dấu ; (chấm phẩy) + Value: Giá trị thuộc tính Ví dụ: body { background:#FFF356; color:#FF0000; font-size:14pt } Giá trị thuộc tính có khoảng trắng, phải đặt trong dấu ngoặc kép. Ví dụ: font-family:”Times New Roman” Đối với giá trị là đơn vị đo, không đặt khoảng cách giữa số đo với đơn vị đo. Ví dụ: width:100 px. Sẽ bị vô hiệu trên 1 số trình duyệt 6 © Dương Thành Phết www.thayphet.net - phetcm@gmail.com
- 1.2. MỘT SỐ QUY ƯỚC VỀ CÁCH VIẾT CSS Đối với trang web có nhiều thành phần có cùng một số thuộc tính, có thể thực hiện gom gọn lại như sau: h1 { color:#0000FF; text-transform:uppercase } h2 { color:#0000FF; text-transform:uppercase; } h3 { color:#0000FF; text-transform:uppercase; } h1,h2,h3{color:#0000FF;text-transform:uppercase; } Chú thích trong CSS: /* Nội dung chú thích */ Ví dụ: /* Màu chữ cho trang web là màu đỏ */ body { color:red } 7 © Dương Thành Phết www.thayphet.net - phetcm@gmail.com
- 1.2. MỘT SỐ QUY ƯỚC VỀ CÁCH VIẾT CSS Đơn vị chiều dài Đơn Mô tả vị % Phần trăm In Inch (1 inch = 2.54 cm) cm Centimeter mm Millimeter pc Pica (1 pc = 12 pt) px Pixels (điểm ảnh trên màn hình máy tính) pt Point (1 pt = 1/72 inch) em 1 em tương đương kích thước font hiện hành, nếu font hiện hành có kích cỡ 14px thì 1 em = 14 px. Đây là một đơn vị rất hữu ích 8 © Dương Thành Phết www.thayphet.net - phetcm@gmail.com
- 1.2. MỘT SỐ QUY ƯỚC VỀ CÁCH VIẾT CSS Đơn vị màu sắc Đơn vị Mô tả Color-name Tên màu. Ví dụ: black, white, red, green, blue, cyan, magenta, RGB (r,g,b) Màu RGB với 3 giá trị R, G, B có trị từ 0 – 255 kết hợp với nhau tạo ra vô số màu. RGB(%r,%g,%b) Màu RGB với 3 giá trị R, G, B có trị từ 0 – 100% kết hợp. Hexadecimal RGB Mã màu RGB dạng hệ thập lục. Ví dụ: #FFFF: trắng, #000: đen, 9 © Dương Thành Phết www.thayphet.net - phetcm@gmail.com
- 1.2. MỘT SỐ QUY ƯỚC VỀ CÁCH VIẾT CSS Vị trí đặt CSS Cách 1: Nội tuyến (kiểu thuộc tính) nhúng vào từng thẻ HTML muốn áp dụng. Ví dụ: Welcome To MyWebsite 10 © Dương Thành Phết www.thayphet.net - phetcm@gmail.com
- 1.2. MỘT SỐ QUY ƯỚC VỀ CÁCH VIẾT CSS Vị trí đặt CSS Cách 2: Bên trong (thẻ style) bằng cách rút tất cả các thuộc tính CSS vào trong thẻ style. Ví dụ: body { background-color:#000 } p { color:white } Welcome To MyWebsite 11 Lưu ý: Thẻ style nên đặt trong thẻ head. © Dương Thành Phết www.thayphet.net - phetcm@gmail.com
- 1.2. MỘT SỐ QUY ƯỚC VỀ CÁCH VIẾT CSS Vị trí đặt CSS + Cách 3: Bên ngoài (liên kết với một file CSS bên ngoài) các mã CSS đặt vào file CSS (.css). Cú pháp chèn file css vào trang: Hoặc @import url("filename.css") Vidu.htm Welcome To MyWebsite Dinhdang.css body{ background-color:#000} p{ color:White } 12 © Dương Thành Phết www.thayphet.net - phetcm@gmail.com
- 2. CÁC THUỘC TÍNH ĐỊNH DẠNG 2.1. Định dạng nền 2.2. Định dạng ký tự 2.3. Định dạng liên kết 2.4. Nhóm các phần tử- Class & ID 2.5. Box Model 2.6. Margin & Padding 2.7. Khung viền - Border 2.8. Height & Width 13 © Dương Thành Phết www.thayphet.net - phetcm@gmail.com
- 2.1. ĐỊNH DẠNG NỀN Màu nền : background-color body { background-color:cyan } h1 { background-color:red } Ảnh nền: background-image background-image:url(logo.jpg) Ví vụ: file background.css và file html body { background-image:url(logo.jpg) } h2 { background-color:orange } p { background-color: FDC689 } link rel="stylesheet" type="text/css" href="background.css" /> Welcome To MyWebsite Hạnh phúc và thành đạt trong cuộc sống 14 © Dương Thành Phết www.thayphet.net - phetcm@gmail.com
- 2.1. ĐỊNH DẠNG NỀN Lặp lại ảnh nền: background-repeat Thuộc tính này có 4 giá trị: + repeat-x: Chỉ lặp lại ảnh theo phương ngang. + repeat-y: Chỉ lặp lại ảnh theo phương dọc. + repeat: Lặp lại ảnh theo cả 2 phương-giá trị mặc định. + no-repeat: Không lặp lại ảnh. Khóa ảnh nền: background-attachment Thuộc tính này có 2 giá trị: + scroll: Ảnh nền sẽ cuộn cùng nội dung trang web. + fixed: Cố định ảnh nền (mờ bất động). Định vị ảnh nền: background-position Mặc định ảnh nền nằm ở góc trên, bên trái màn hình. Background-position:5cm 2cm Ảnh được định vị 5cm từ trái và 2cm từ trên. 15 © Dương Thành Phết www.thayphet.net - phetcm@gmail.com
- 2.1. ĐỊNH DẠNG NỀN Thuộc tính background rút gọn background-color:transparent; background-image: url(logo.jpg); background-repeat: no-repeat; background-attachment: fixed; background-position: right bottom; thành một dòng ngắn gọn: background:transparent url(logo.jpg) no-repeat fixed right bottom; 16 © Dương Thành Phết www.thayphet.net - phetcm@gmail.com
- 2.2. ĐỊNH DẠNG KÝ TỰ Thuộc tính định font: font-family body { font-family:”Times New Roman”,Tohama,sans-serif } h1, h2, h3 { font-family:arial,verdana,serif } Thuộc tính định kiểu: font-style Các kiểu in thường (normal), in nghiêng (italic) hay xiên (oblique). h1 { font-style:italic; } h2 { font-style:oblique; } Thuộc tính chế độ hoa nhỏ: font-variant Các kiểu in thường (normal), Kiểu hoa nhỏ (small-caps. h1 { font-variant:small-caps } h2 { font-variant:normal } 17 © Dương Thành Phết www.thayphet.net - phetcm@gmail.com
- 2.2. ĐỊNH DẠNG KÝ TỰ Thuộc tính chữ đậm: font-weight p { font-weight:bold } h2{ font-weight:normal } Thuộc tính cỡ chữ: font-size: body { font-size:20px } h1 { font-size:3em } h2 { font-size:x-small} Thuộc tính font rút gọn h1 { font-style: italic; font-variant:small-caps; font-weight: bold; font-size: 35px; font-family: arial,verdana,sans-serif; } Thành: h1 { font: italic bold 35px arial,verdana,sans-serif; } Cấu trúc rút gọn cho các thuộc tính nhóm font: Font: | | | | 18 © Dương Thành Phết www.thayphet.net - phetcm@gmail.com
- 2.2. ĐỊNH DẠNG KÝ TỰ Thuộc tính Màu chữ: Color Giá trị của thuộc tính này là các giá trị màu CSS hỗ trợ. body { color:#000 } h1 { color:#0000FF } Thuộc tính text-indent : Tạo khoảng thụt đầu dòng cho dòng đầu tiên trong đoạn văn bản. Giá trị thuộc tính này là các đơn vị đo trong CSS. p { text-indent:30px } Thuộc tính text-align : Canh chỉnh văn bản. Thuộc tính này có 4 giá trị: left (canh trái – mặc định), right (canh phải), center (canh giữa) và justify (canh đều). h1, h2 { text-align:right } p { text-align:justify } 19 © Dương Thành Phết www.thayphet.net - phetcm@gmail.com
- 2.2. ĐỊNH DẠNG KÝ TỰ Thuộc tính letter-spacing: Định khoảng cách giữa các ký tự trong một đoạn văn bản. h1, h2 { letter-spacing:7px } p { letter-spacing:5px } Thuộc tính text-decoration: Thêm các hiệu ứng gạch chân (underline), gạch xiên (line-through), gạch đầu (overline), hiệu ứng nhấp nháy (blink). h1 { text-decoration:underline } h2 { text-decoration:overline } Thuộc tính text-transform: Chế độ in hoa hay thường của văn bản. Thuộc tính này có 4 giá trị: uppercase (in hoa), lowercase (in thường), capitalize (in hoa ở ký tự đầu tiên trong mỗi từ) và none (không áp dụng hiệu ứng – mặc định). h1 { text-transform:uppercase } 20 h2 { text-transform:capitalize } © Dương Thành Phết www.thayphet.net - phetcm@gmail.com
- 2.3. ĐỊNH DẠNG LIÊN KẾT – PSEUDO-CLASSES Xác định định dạng cho một đối tượng liên kết ở các trạng thái như khi liên kết chưa thăm (a:link), khi rê chuột lên liên kết (a:hover), khi liên kết được thăm (a:visited) hay khi liên kết đang được kích hoạt – đang giữ nhấn chuột (a:active). Ví dụ áp dụng 4 màu cho từng trạng thái liên kết: a:link { color:#00FF00 } a:hover { color:#FF00FF } a:visited { color:#FF0000 } a:active { color:# 662D91 } Hay a:link { color:#00FF00; font-size:14px } a:hover{color:#FF00FF;font-size:1.2em;text-decoration:blink } a:visited { color:#FF0000; text-decoration:none } 21 a:active { color:# 662D91; font-variant:small-caps } © Dương Thành Phết www.thayphet.net - phetcm@gmail.com
- 2.3. ĐỊNH DẠNG LIÊN KẾT – PSEUDO-CLASSES Ví dụ: style.css a { border:1px solid #000; font-size:14px } a:link { color:#00FF00; } a:hover{background-color:#00BFF3;color:#FF00FF;font- size:1.2em;text-decoration:blink } a:visited{background-color:#FFF568;color:#FF0000; text-decoration:none } a:active { color:#662D91; font-variant:small-caps } Vidu.htm 22 © Dương Thành Phết www.thayphet.net - phetcm@gmail.com
- 2.4. NHÓM CÁC PHẦN TỬ- CLASS & ID Nhóm các phần tử với class : file class.css: li.tp { color:#FF0000 } li.tinh { color:#0000FF } File Vidu.htm Danh Sách Các Tỉnh, Thành Phố Của Việt Nam Hà Nội TP. Hồ Chí Minh Thừa Thiên Huế Khánh Hòa 23 © Dương Thành Phết www.thayphet.net - phetcm@gmail.com
- 2.4. NHÓM CÁC PHẦN TỬ- CLASS & ID Nhận dạng phần tử với id File Id.css #hanoi { color:# 790000 } #hcmc { color:#FF0000 } .tinh { color:#0000FF } File Vidu.htm Hà Nội TP. Hồ Chí Minh Thừa Thiên Huế Khánh Hòa 24 © Dương Thành Phết www.thayphet.net - phetcm@gmail.com
- 2.4. NHÓM CÁC PHẦN TỬ- CLASS & ID Nhóm khối phần tử với thẻ Như , cũng là thẻ trung hòa với mục đính nhóm các phần tử lại cho mục đích định dạng bằng CSS. Nhưng có thể nhóm một hoặc nhiều khối phần tử. #tp { color:#FF0000 } #tinh { color:0000FF } Hà Nội TP. Hồ Chí Minh Thừa Thiên Huế Khánh Hòa 25 © Dương Thành Phết www.thayphet.net - phetcm@gmail.com
- 2.5. BOX MODEL Box model (mô hình hộp) mô tả cách mà CSS định dạng khối không gian bao quanh một thành phần. Gồm padding (vùng đệm), border (viền) và margin (canh lề) và các tùy chọn. p{width:200px; margin:30px 20px; padding:20px 10px; border:1px solid #000; text-align:justify } Trong CSS, box model (mô hình hộp) mô tả cách mà CSS định dạng khối không gian bao quanh một thành phần. 26 © Dương Thành Phết www.thayphet.net - phetcm@gmail.com
- 2.6. MARGIN & PADDING Thuộc tính margin: Dùng canh lề trang hay thành phần này với thành phần khác Cú pháp như sau: margin: | | | Hoặc: margin: | body { margin:80px 30px 40px 50px; border:1px solid #FF0000 } #box1 { margin:50px 30px 20px 40px; border:1px solid #00FF00 } 27 © Dương Thành Phết www.thayphet.net - phetcm@gmail.com
- 2.6. MARGIN & PADDING Thuộc tính padding: Dùng để định khoảng cách giữa phần nội dung và viền của một đối tượng Cú pháp: Tương tự margin. Padding: | | | 28 © Dương Thành Phết www.thayphet.net - phetcm@gmail.com
- 2.7. KHUNG VIỀN - BORDER Thuộc tính border-width Quy định độ rộng cho viền của một đối tượng. Có các giá trị: thin (mảnh), medium (vừa), thick (dày), hay là một giá trị đo cụ thể như pixels. Thuộc tính border-color Quy định màu viền cho một đối tượng. Có giá trị là đơn vị màu. Thuộc tính border-style Quy định kiểu viền thể hiện của một đối tượng. Có 8 kiểu viền tương ứng với 8 giá trị: dotted, dashed, solid, double, groove, ridge, inset và outset. h2 { border-width:thick; border-color:#CCC; border-style:dotted } p { border-width:5px; border-color:#FF00FF; border-style:double 29 © Dương Thành Phết www.thayphet.net - phetcm@gmail.com
- 2.8. HEIGHT & WIDTH Thuộc tính width: Quy định chiều rộng cho một thành phần web. p { width:700px; } Thuộc tính max-width: Quy định chiều rộng tối đa cho một thành phần web. Thuộc tính min-width: Quy định chiều rộng tối thiểu cho 1 thành phần web. Thuộc tính height: Quy định chiều cao cho một thành phần web. p { height:300px } Thuộc tính max-height: Quy định chiều cao tối đa cho một thành phần web. Thuộc tính min-height: Quy định chiều cao tối thiểu cho 1 thành phần web. 30 © Dương Thành Phết www.thayphet.net - phetcm@gmail.com
- 3 CÁC THUỘC TÍNH KHÁC 3.1. Float & Clear 3.2. Position 3.3. Layers 3.4. Web Standards 31 © Dương Thành Phết www.thayphet.net - phetcm@gmail.com
- 3.1. FLOAT & CLEAR Thuộc tính float Dùng để cố định một thành phần web về bên trái hay bên phải không gian bao quanh nó. Là một thuộc tính rất cần thiết khi dàn trang, hiển thị văn bản thành cột, hay thực hiện việc định vị trí ảnh và text như kiểu text wrapping của Word. Thuộc tính float có 3 giá trị: + Left: Cố định phần tử về bên trái. + Right: Cố định phần tử về bên phải. + None: Bình thường #logo { float:left; } 32 © Dương Thành Phết www.thayphet.net - phetcm@gmail.com
- 3.1. FLOAT & CLEAR Thuộc tính clear: Được gán vào các phần tử liên quan tới phần tử đã được float để quyết định hướng xử sự của phần tử này. Thuộc tính clear có 4 thuộc tính: left (tràn bên trái), right (tràn bên phải), both (không tràn) và none 33 © Dương Thành Phết www.thayphet.net - phetcm@gmail.com
- 3.2. POSITION Nguyên lý hoạt động của position Cửa sổ trình duyệt giống như một hệ tọa độ và với position có thể đặt một đối tượng web ở bất cứ vị trí nào trên hệ tọa độ này 34 © Dương Thành Phết www.thayphet.net - phetcm@gmail.com
- 3.2. POSITION Absolute position: Là sự định vị mà trong đó các thành phần được định vị không để lại bất cứ một khoảng trống nào trong tài liệu. Các đối tượng đã định vị tuyệt đối sẽ dùng kết hợp với các thuộc tính top, left, right, bottom để xác định tọa độ. Ví dụ đặt bốn ảnh ở bốn góc. #logo1 { position:absolute; top:50px; left:70px } #logo2 { position:absolute; top:0; right:0 } #logo3 { position:absolute; bottom:0; left:0 } #logo4 { position:absolute; bottom:70px; right:50px 35 © Dương Thành Phết www.thayphet.net - phetcm@gmail.com
- 3.2. POSITION Relative position Định vị tương đối cho một thành phần là sự định vị được tính từ vị trí gốc trong tài liệu. Các thành phần đã được định vị tương đối sẽ để lại khoảng không trong tài liệu, sẽ nhận giá trị position là relative. Chúng ta hãy làm lại ví dụ trên nhưng thay absolute thành relative. Ví dụ ghi nhận lại vị trí 4 ảnh logo lúc áp dụng thuộc tính position là none, absolute và relative rồi rút ra nhận xét. 36 © Dương Thành Phết www.thayphet.net - phetcm@gmail.com
- 3.3. LAYERS Thuộc tính giúp đặt một thành phần này lên trên một thành phần khác. Với mục đích này, sẽ gán cho mỗi phần tử một con số. Theo đó, phần tử có số cao hơn sẽ nằm trên, Ví dụ đặt 5 bức ảnh logo ở 5 lớp. #logo1 { position:absolute; top:70px; left:50px; z-index:1 } #logo2 { position:absolute; top:140px; left:100px; z-index:2 } #logo3 { position:absolute; top:210px; left:150px; z-index:3 } #logo4 { position:absolute; top:280px; left:200px; z-index:4 } #logo5 { position:absolute; top:350px; left:250px; z-index:5 } 37 © Dương Thành Phết www.thayphet.net - phetcm@gmail.com
- 3.4. WEB STANDARDS Trong CSS, W3C đã tạo ra một công cụ gọi là CSS Validator để đọc và thẩm định tính hợp chuẩn cho CSS. Truy cập vào địa chỉ sau: Đặt url file CSS ở ô url rồi nhấn nút “click to check stylesheet” để chương trình đọc file CSS. Sau khi đọc xong, nếu file CSS không phù hợp tiêu chuẩn, chương trình sẽ hiển thị danh sách lỗi. Nếu file CSS hợp chuẩn thì chương trình sẽ hiện ra bức ảnh chứng nhận. Có thể đặt bức ảnh đó trên trang web để thể hiện nó đã được xây dựng trên các mã chuẩn 38 © Dương Thành Phết www.thayphet.net - phetcm@gmail.com
- KHOA CAO ĐẲNG THỰC HÀNH THIẾT KẾ & LẬP TRÌNH WEBSITE (Chuyên ngành: Đồ Họa Đa Truyền Thông) THE END. 39 © Dương Thành Phết www.thayphet.net - phetcm@gmail.com