Thủ thuật với CSS
CƠBẢN CSS.1
Làm sao chèn CSS vào trong trang Web.3
Các vấn đềvềvăn bản và cách định dạng văn bản.6
Các thuộc tính của font chữvà định nghĩa font chữcho văn bản.9
Đường viền và các thuộc tính của đường viền.11
Các thuộc tính của margin.13
CSS padding.13
Thuộc tính đường bao ngoài (Outline).14
Style một kiểu Bubble đơn giản.15
Làm thẻdiv có thanh cuộn (scrollbar) giống iFrame.17
Căn bảng vào giữa màn hinh.18
Menu dạng tab - Phần I.19
Kỹthuật làm chữhoa (Drop cap).21
Trang trí cho danh sách có thứtự.23
Kỹthuật tải ảnh trước bằng CSS.25
Fix min-height cho IE.26
Đặt min-width cho IE6.27
CSS Transparency trên toàn bộcác Trình duyệt.28
Border và những điều bạn chưa biết.28
Kỹthuật đưa footer xuống cuối trang.29
Đặt dạng text vào giữa ( theo chiều cao).31
Hiển thị ảnh PNG trên IE.31
Style cho thẻhr.32
Kỹthuật slicing door và ứng dụng.33
Cách viết giản lược trong CSS.35
. Giả sử rằng file script bạn để ở trong thư mục cùng cấp với tài liệu HTML. Tiếp đó bạn copy ảnh blank.gif vào cùng thý mục với file script. Style cho thẻ hr là một thẻ tự đóng, điều đó có nghĩa là nó không cần thẻ đóng như những thẻ HTML khác. Thẻ sẽ tạo ra một đường kẻ ngang trên trình duyệt và khoảng cách giữa đường kẻ và nội dung thì phụ thuộc vào các trình duyệt khác nhau. Tuy nhiên bạn hoàn toàn có thể thay đổi cách hiển thị của thẻ theo ý mình trên một số trình duyệt. Đối với một số trình duyệt mới (IE6, IE7, Firefox, Opera, Mozilla...) thì cách định dạng của bạn hoàn toàn có thể týõng thích. Trong cách định dạng thẻ chúng ta cũng cần phải chú ý một chút về cách mà cách trình duyệt xử lí đối với đối tượng thẻ . Với Internet Explore (IE) sẽ sử dụng thuộc tính color để hiển thị màu của đường kẻ và thuộc tính background sẽ không có tác dụng. Tuy nhiên thì Mozilla(Netscape) và Opera thì lại dùng thuộc tính background để hiển thị màu của đường kẻ. Chúng ta cũng có thể sử dụng thuộc tính border để hiển thị định dạng, nhưng đó không phải là một cách mà chúng ta muốn. Chúng ta có đoạn mã CSS định dạng thẻ như sau: hr { color: red; background: red; border: 0; height: 1px; } Thêm khoảng cách giữa đường kẻ và phần nội dung. Ðể thêm khoảng cách giữa ðýờng kẻ và nội dung chúng ta sẽ dùng thuộc tính margin để quy định khoảng cách này. hr { color: red; more information and additional documents connect with me here: background: red; border: 0; height: 1px; margin: 10px 0 20px; } Kỹ thuật slicing door và ứng dụng Ðối với những desiger thýờng xuyên làm việc với CSS thì kỹ thuật Sliding Doors không có gì mới mẻ. Nhưng ðối với những bạn mới làm quen với CSS thì tôi nghĩ rằng ðây là một kỹ thuật mà bạn nên tìm hiểu nó. Kỹ thuật Sliding Doors(kỹ thuật cửa kéo), là một kỹ thuật được ứng dụng rất nhiều trong việc tạo ra các button, hay các menu ngang kiểu tab,…Trong bài viết này chúng ta sẽ đi tìm hiểu ý týởng chủ đạo của kỹ thuật và tạo ra một ví dụ nhỏ có sử dụng kỹ thuật trên. Tôi chắc rằng ít nhất chúng ta đã một lần nhìn thấy chiếc cửa kéo kiểu nhật bản. Một bên cửa cố định và một bên cửa sẽ linh động có thể kéo ra hoặc kéo vào tùy thích. Bản chất của kỹ thuật Sliding Doors cũng giống nhý vậy. Chúng ta sẽ chia đối tượng 2 phần(phần bên trái và phần bên phải). Phần bên trái sẽ là phần cố định, còn phần bên phải sẽ là phần động(Việc phân chia này tùy theo ý thích của bạn, bạn có thể phân chia phần bên phải cố định và phần bên trái là phần động). Điều đó cũng có nghĩa là phần bên trái sẽ có kích thýớc vừa phải, còn phần bên phải cần có kích thýớc luôn lớn hõn hoặc bằng nội dung mà bạn dự định đưa vào(để đảm bảo rằng đối tượng của chúng ta giống như bị đứt gãy). Ðể bạn có một hình dung rõ hõn tôi xin ðýa ra hình vẽ mô tả ý týởng của kỹ thuật này nhý sau: Nhý trên hình vẽ bạn đã thấy, phần bên trái sẽ cố định và phần bên phải sẽ có ra hoặc dãn vào tùy theo nội dung bên trong của đối tượng cần tạo. Do vậy với cách làm nhý trên thì chúng ta cần tạo phần bên phải cần phải đủ dài để tránh trường hợp bị thiếu ảnh khi nội dung dài. Các bạn thấy không nghe thì có vẻ ghê gớm nhýng về bản chất thì kỹ thuật này chỉ có vậy thôi, nhýng các bạn đừng coi thường, tuy vậy nhưng nó khá quan trọng và được ứng dụng rất rộng rãi trong việc tạo button, tạo menu kiểu tab,…Để minh họa cho điều tôi vừa trình bày bày sau đây tôi xin đưa ra một ví dụ có sử dụng kỹ thuật này. Trong ví dụ này chúng ta sẽ tạo ra một số button theo phong cách web 2.0, và có độ tùy biến nội dung cao(chúng ta có thể thay đổi nội dung ở trong một cách tùy ý). Sau đây là chi tiết từng býớc làm cụ thể. 1. Tạo nút bằng Photoshop Việc đầu tiên chúng ta cần làm đó là chúng ta cần tạo ra hình dáng chiếc nút thân yêu của ta, trong ví dụ này tôi tạo ra một nút Sign Up Now! nhý sau: 2. Cắt nút ra thành hai phần. Nhý tôi đã trình bày ở trên, để thực hiện được kỹ thuật này chúng ta cần phải cắt đối tượng ra làm 2 phần. Để có thể cắt hình được chính xác tôi khuyên bạn nên sử dụng công cụ Slice(Slice Tools) trong Adobe Photoshop. Button của chúng ta sẽ được slice như sau: Chúng ta cần chú ý là phần bên phải cần phải đủ dài để đảm bảo rằng không bị thiếu. more information and additional documents connect with me here: 3. Thực hiện viết mã HTML và CSS. Chúng ta có định dạng mã HTML nhý sau: …Nội dung… Giải thích: 1. Sở dĩ chúng ta cần phải sử dụng 2 phần thử HTML trong việc này là do đối tượng của chúng ta được chia làm 2 phần, và mỗi phần tử sẽ làm nhiệm vụ giữ một phần của đối tượng. 2. Chúng ta sẽ dùng thẻ bao ở ngoài cùng để đảm bảo rằng toàn bộ nút sẽ link được khi di chuột lên trên nút. Đồng thời thẻ này sẽ chứa phần động bên phải. 3. Thẻ sẽ làm nhiệm vụ giữ phần cố định bên trái, đồng thời sẽ có nhiệm vụ che phần dư của ảnh nền bên phải. Ðể thỏa mãn với yêu cầu ðặt ra chúng ta có mã ðịnh dạng CSS nhý sau: /* Sign up button style */ a.sign-up { font-family: Arial, Helvetica, sans-serif; font-size: 25px; font-weight: bold; color: #FFF; text-decoration: none; margin: 0; padding: 28px 0; display: block; background: url(images/signup-right-bg.gif) no-repeat right center; width: 270px; } a.sign-up:hover, a.sign-up:active { color: #FF0; } a.sign-up span { margin: 0; padding: 28px 0 28px 90px; background: url(images/signup-left-bg.gif) no-repeat left center; } Cách viết giản lược trong CSS Nếu bạn là ngýời thực sự muốn tìm hiểu về CSS, thì bạn không thể không tìm hiểu cách viết giản lýợc(shorthand) trong CSS. Cách viết này thực sự mang lại những lợi ích và tiện lợi khi bạn sử dụng CSS. Trýớc khi đi vào phân tích những tiện lợi mà nó mang lại, tôi xin lấy một ví dụ đơn giản như sau. Giả sử rằng chúng ta muốn định dạng cho một thẻ có đường viền bao quanh thì chúng ta cần phải viết. border-width: 1px; more information and additional documents connect with me here: border-style: solid; border-color: #CC0000; Thay vì phải viết nhý vậy chúng ta chỉ cần viết border: 1px solid #CC0000; Qua ví dụ đơn giản ở trên ta có thể thấy cách viết này mang lại cho chúng ta một số lợi ích sau. Thứ hai 1. Thứ nhất: nó giúp chúng ta giảm thiểu được đáng kể thời gian phải viết mã CSS. 2. Thứ hai: bạn cứ týởng týợng rằng file CSS của bạn có tới vài ngìn dòng và dung lýợng lên tới vài trăm Kb, thì cách viết này còn giúp bạn giảm thiểu được đáng kể dung lượng của file CSS và giúp bạn dễ dàng theo dõi hõn, khi số lýợng dòng của trang được giảm xuống. Sau đây tôi xin đi vào chi tiết một số thuộc tính trong CSs mà chúng ta có thể dùng cách viết giản lýợc. 1. Thuộc tính Color Có rất nhiều cách để định nghĩa một màu trong CSS, chúng ta có thể định nghĩa theo hệ số Hexa(trong hệ màu RGB), hoặc chúng ta có thể viết tên màu (ví dụ: white, red…). Nhýng cách định nghĩa theo hệ số Hexa được sử dụng thông dụng nhất. Để định nghĩa theo hệ Hexa chúng ta sẽ đặt dấu (#) ở trước sau đó đến các thông số màu (ví dụ: #003366). Dãy các thông số màu được chia làm 3 phần týõng ứng với ba màu Red, Green, Blue (00: Red | 33: Green | 66: Blue). Trong cách định nghĩa hệ số màu ta cũng có cách viết giản lýợc nhý sau: #000000 có thể viết #000 hoặc #003366 có thể viết #036 2. Thuộc tính margin và padding. margin-top: 10px; margin-right: 15px; margin-bottom: 20px; margin-left: 25px; Ðýợc thay thế bằng margin: 10px 15px 20px 25px; /* top | right | bottom | left */ Týõng tự với thuộc tính padding padding-top: 10px; pading-right: 15px; padding-bottom: 20px; padding-left: 25px; padding: 10px 15px 20px 25px; /* top | right | bottom | left */ Cả hai thuộc tính margin và padding có hai chú ý nhý sau: nếu trong trýờng hợp có hai thông số. margin: 10px 20px; /* top bottom | right left */ padding: 10px 20px; /* top bottom | right left */ Thì thông số thứ nhất týõng đương với top và bottom còn thông số thứ hai týõng đương với right và left Trong trýờng hợp margin và padding có 3 thông số: margin: 10px 20px 15px; /* top | right left | bottom */ padding: 10px 20px 15px; /* top | right left | bottom */ Thì thông số thứ nhất týõng đương với top, thông số thứ hai týõng đương với right và left, thông số thứ 3 týõng đương với bottom 3. Thuộc tính border. more information and additional documents connect with me here: border-with: 1px; border-style: solid; border-color: #CC0000; Sẽ viết thành border: 1px solid #CC0000; /* width | style | color */ 4. Thuộc tính background. background-color: #CC0000; background-image: (image url); background-repeat: no-repeat; /* repeat-x, repeat-y */ background-position: top left; Týõng đương với background: #CC0000 url(image url) no-repeat top left; 5. Thuộc tính font font-size: 1em; line-height: 1.5em; font-variant:small-caps; font-weight: bold; font-style: italic; font-famyli: Arial, Verdana, Sans-serif; Dạng viết giản lýợc font: 1em/1.5em bold italic small-caps Arial,Verdana,Sans-serif; 5. List type list-style: none; Có nghĩa là list-style-type: none; Bạn cũng có thể sử dụng thuộc tính list-style-position và list-type-image để định dạng cho danh sách không có thứ tự unordered lists, sử dụng hình ảnh cho mỗi dòng và sử dụng list- type-style là hình vuông trong trýờng hợp không hiển thị được ảnh. Và hai cách viết dýới đây là nhý nhau. list-style:square inside url(image.gif); là giản lýợc cho list-style-type: square; list-style-position: inside; list-style-image: url(image.gif); 6. Outline Thuộc tính này rất ít dùng vì có rất ít các trình duyệt hiện tại hỗ trợ thuộc tính này, hiện tại chỉ có một số trình duyệt hỗ trợ thuộc tính này Safari, OmniWeb và Opera. Cách viết giản lýợc các thuộc tính này nhý sau: outline-color: #000; outline-style: solid; outline-with: 2px; Cách viết giản lýợc sẽ là outline: #000 solid 2px; more information and additional documents connect with me here: more information and additional documents connect with me here:
File đính kèm:
- Thủ thuật với CSS.pdf