Thứ Bảy, 14 tháng 9, 2013

CSS - Hiệu ứng trượt lên xuống trái phải


Khi lang thang vào những website chuyên giới thiệu các sản phẩm công nghệ, phong cách giao diện metro. Chúng ta thấy đôi khi họ sử dụng hiệu ứng trượt theo chiều ngang hoặc chiều dọc khá đẹp mắt.

Để làm được hiệu ứng đó, nhiều bạn cứ nghĩ phải đụng đến jquery hay đại loại là cần đến javascript. Và hầu hết các website giải quyết vấn đề theo cách này.
Với tôi thì nghĩ khác, tại sao chúng ta lại phải dùng js, nếu trinh duyệt tắt js thì sao. Trong khi vấn đề đó có thể được giải quyết đơn giản.

CSS Hiệu ứng trượt lên xuống trái phải

 Bài viết này là một demo mẫu viết bằng HTML + CSS, rất dễ tùy biết, nhanh gọn đẹp.
<style>
    #bendoi{width:500px; height:300px; border:0px solid #ccc; float:left;overflow:hidden;}
    .ngang, .doc {float:left; margin:5px; padding:5px; border:1px solid #ccc;display: block;overflow:hidden;box-align:center;text-align:center; min-width:50px; min-height:100px; position: relative;
    display: table-cell;vertical-align: middle;
    }
    /*ngang*/
    .ngang .trai {float: left;position: absolute;transition-duration: 1s;-moz-transition-duration: 1s;-webkit-transition-duration: 1s;   -o-transition-duration: 1s;
      padding-top:35px}
 
   .ngang .phai { float: right;width: ;transition-duration: 1s;-moz-transition-duration: 1s;-webkit-transition-duration: 1s;      -o-transition-duration: 1s; padding-top:35px}
 
    .ngang:hover .trai {margin-left: 120px;}
    .ngang:hover .phai {margin-right: 120px;}
    /*doc*/
    .doc .tren {position: absolute;transition-duration: 1s;-moz-transition-duration: 1s;-webkit-transition-duration: 1s;   -o-transition-duration: 1s; top:10px}
 
   .doc .duoi {position: absolute;transition-duration: 1s;-moz-transition-duration: 1s;-webkit-transition-duration: 1s;      -o-transition-duration: 1s;
      bottom:10px;}
 
    .doc:hover .tren {margin-top: 70px;}
    .doc:hover .duoi {margin-bottom: 70px;}
 
  </style>

  <div id="bendoi">
    <div class="ngang" style="width:150px; ">
      <div class="trai"> trai </div>
      <div class="phai"> phai </div>
    </div>
 
    <div class="doc" style="width:; height:;">
      <div class="tren"> tren </div>
      <div class="duoi"> duoi </div>
    </div>
 
 
    <div class="doc" style="width:; height:;">
      <div class="tren"> tren </div>
      <div class="duoi"> duoi </div>
    </div>
 
     <div class="ngang" style="width:150px; height:;">
      <div class="trai"> trai </div>
      <div class="phai"> phai </div>
    </div>
 
    <div class="ngang" style="width:150px;  height:;">
      <div class="trai"> trai </div>
      <div class="phai"> phai </div>
    </div>
 
    <div class="doc" style="width:; height:;">
      <div class="tren"> tren </div>
      <div class="duoi"> duoi </div>
    </div>
   
     <div class="ngang" style="width:150px; height:;">
      <div class="trai"> trai </div>
      <div class="phai"> phai </div>
    </div>
 
    <div class="doc" style="width:; height:;">
      <div class="tren"> tren </div>
      <div class="duoi"> duoi </div>
    </div>
 
  </div>   gửi email đến tôi nếu bạn muốn có một thiết kế riêng thật đẹp mắt và không "đụng hàng"
trai
phai
tren
duoi
tren
duoi
trai
phai
trai
phai
tren
duoi
trai
phai
tren
duoi


Thứ Bảy, 31 tháng 8, 2013

CSS - Thủ thuật reset css


Khi viết giao diện website nếu không để ý chúng ta sẽ vướng vào việc chỉnh sửa các thuộc tính cho các thẻ HTML khá chầy chật, chỗ thì thế này, chỗ thì thế khác, thêm chỗ nọ, bớt chỗ kia dẫn đến không động bộ có thể bị thiếu hoặc lặp lại không cần thiết. Những thuộc tính này đã được các trình duyệt hoặc mã nguồn web đó mặc định, đừng tưởng cái gì mình chưa khái báo thì thuộc tính đó là không.
Việc các trình duyệt, thiết bị, mã nguồn có sẵn các thư viện css mặc định sẽ được tự động sử dụng nếu chúng ta không trực trực tiếp khai báo css, cũng có cái lợi những cũng có cái bất tiện.
Điều này thấy rất rõ trong mã nguồn đóng blogger (blogspot), hay thậm chí bạn code một trang html mới tinh trong máy bạn thì mặc định margin đã là 10px (tùy trình duyệt).

Do đó bạn thấy tầm quan trọng của remove css default rồi, để chắc ăn nhất, chúng ta sẽ reset css khi bắt đầu một giao diện.
Cách tiến hành:
Bước 1: Cập nhật tất cả các thẻ HTML.
Bước 2: Liệt kê danh sách những thẻ HTML mà site của bạn sử dụng và có thể sẽ sử dụng, nếu cảm thấy sẽ chẳng có nhu cầu dùng đến thì thôi.
Bước 3: Chia các thẻ này theo nhóm. Những thẻ nào có chung một thuộc tính hoặc vài thuộc tính giống nhau thì thành một nhóm. Những thẻ được sử dụng những chưa xác định thuộc cụ thể thì cũng chung một nhóm.
Bước 4: Viết css cho các nhóm đó theo dạng
nhóm_1 {thuộc_tính_11: giá_trị_11; thuộc_tính_12: giá_trị_12; ...}
nhóm_2 {thuộc_tính_21: giá_trị_21; thuộc_tính_22: giá_trị_22; ...}
...
nhóm_trống {}

Bước 5: viết lại một số css xuống dưới, quy định riêng một số thuộc tính.

Ở đây tôi có một đoạn css tướng đối đủ dùng cho hầu hết các nhu cầu cơ bản. Các bạn tham khảo:
Đoạn css reset phải được viết trước tiên, sau đó mới load đến các css khác.
/*reset css*/
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,dfn,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video
{
border:0;
font:inherit;
font-size:100%;
margin:0;
padding:0;
vertical-align:baseline;
}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{ display:block;}
body{ line-height:1;}
ol,ul{ list-style:none;}
blockquote,q{ quotes:none;}
blockquote:before,blockquote:after,q:before,q:after{ content:none;}
table{ border-collapse:collapse; border-spacing:0;}
b,u,i,del,em {/*lấy mặc định*/}
/*tùy ý css*/
...

Thứ Hai, 19 tháng 8, 2013

Sự kỳ diệu của Background linear-gradient & Background radial-gradient.


Background là thành phần trong css mà gần như ai thiết kế web cũng biết
Nói đến background là nghĩ ngay đến :
- Cách đơn giản nhất Background: #fff;
- Hoặc background:#ffcc00 url(link_img) repeat-x 0 50%; [#color] [link_img] [tính lặp] [vị trí]
Nếu bạn chưa rõ về kiểu viết thứ 2 ở trên thì xem lại bài về background trong phần tổng hợp css.

Tại bài này Tôi sẽ giới thiệu một số cách viết background phức tạp hơn. Đó là sự chuyển màu và các hướng chuyển màu mà trong css.
Cho tới thời điểm hiện nay, vẫn chưa có sự thống nhất chuẩn trong cách viết này, vì cách viết giống nhau không hẳn sẽ hiển thị giống nhau ở trình duyệt khác nhau, cách viết khác nhau có thể cho hiển thị như nhau dù cùng 1 trình duyệt. Tôi từng băn khoăn không biết mình nên viết theo kiểu nào để hiển thị được đúng nhất cho nhiều trình duyệt nhất và tôi đã giải quyết vấn đề này như sau, mời các bạn theo dõi.

Nói đến sự chuyển màu bạn sẽ thấy hiện nay có những loại chuyển màu sau:
- Linear Gradient : dạng đường thẳng.
- Ridial Gradient: dạng tròn.
Background linear-gradient, Background radial-gradient
Đối với loại hòa trộn màu theo dạng thẳng Linear Gradient
Phương màu sẽ được tạo ra từ điểm màu đầu tiên đến điểm màu cuối cùng, phương màu đi qua mổi điểm ảnh thì các điểm ảnh vuông góc với phương màu sẽ thay đổi một giá trị so với màu kế bên.
Cú pháp cơ bản:
Background: -[kiểu trình duyệt]-[tính lặp]-linear-gradient ([phương hướng màu], [màu 1] [vị trí màu 1],  [màu 2] [vị trí màu 2],  [màu 3] [vị trí màu 3],  [màu n] [vị trí màu n]);

- Kiểu trình duyệt: o, moz, webkit, ms.

- Tính lặp:
Giá trị: repeating có thể có hoặc không.

- Phương hướng màu gồm 2 loại:

+ Phương hướng cơ bản:
Có kiểu viết đầy đủ là [x_bắt_đầu  y_bắt_đầu], [x_kết_thúc  y_kết_thúc]
trong đó X là LEFT, RIGHT. Y là TOP, BOTTOM
ví dụ : LEFT TOP, RIGHT BOTTOM
Tuy nhiên nếu là phướng thẳng đứng (90deg) hoặc ngang (0deg) thì chỉ cần viết  y_kết_thúc

+  Phương hướng tùy chọn: viết cụ thể số góc mong muốn: ví dụ: 15deg, 30deg, 40deg, 50deg,...

- Màu:
Viết thieo kiển HEX (ví dụ: #ffcc00) hoặc RGB (ví dụ: rgb(0,100,255))

- Vị trí màu: giá trị từ điểm đầu tiên (0%) đến điểm cuối cùng (100%)

Tôi thấy cách viết đầy đủ nhất, tương thích với nhiều trình duyệt thì nên viết như sau:
background: #0B751D; /*phòng trường hợp xấu nhất*/
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#0B751D, endColorstr=#1B8025);/* Internet Explorer 5.5 - 7 */
-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#0B751D, endColorstr=#1B8025)";    /* For Internet Explorer 8 */
background-image: -ms-linear-gradient(bottom, #0B751D 0%, #EBEBEB 52%, #1B8025 100%); /* Internet exlorer 9+ */
background-image: linear-gradient(bottom, #0B751D 0%, #EBEBEB 52%, #1B8025 100%); /*chuẩn chung*/
background-image: -o-linear-gradient(bottom, #0B751D 0%, #EBEBEB 52%, #1B8025 100%); /* opera */
background-image: -moz-linear-gradient(bottom, #0B751D 0%, #EBEBEB 52%, #1B8025 100%); /* mozilla firefox */
background-image: -webkit-linear-gradient(bottom, #0B751D 0%, #EBEBEB 52%, #1B8025 100%); /* Google Chrome,...*/
background-image: -webkit-gradient( linear, left bottom, left top, color-stop(0, #0B751D), color-stop(0.52, #EBEBEB), color-stop(1, #1B8025));
Kiểu hòa trộn màu dạng tròn Ridial Gradient
Background linear-gradient, Background radial-gradient
Cú pháp chung:
background-image: -[Kiểu trình duyệt]-[tính lặp]-radial-gradient([vị trí tâm], [hình dạng] [phạm vi], [màu 1]  [vị trí màu 1], [màu 2] [vị trí màu 2], [màu 3] [vị trí màu 3], [màu n] [vị trí màu n])

- Kiểu trình duyệt o, moz, webkit, ms

- Tính lặp
Giá trị: repeating có thể có hoặc không.

- Vị trí tâmVị trí tâm màu thứ 1 so với khung hình của DIV. Cú pháp [X] [Y]. Có 2 loại vị trí.
Vị trí cơ bản: Giá trị X là: LEFT, CENTER, RIGHT. Giá trị Y là: TOP, CENTER, BOTTOM.
Vị trí tùy chọn: Đơn vị là PX, EM, %. Ví dụ: 20px, 2em, 50%.
Do đó có thể viết: 20px center hoặc 50% 30% hoặc 50px 100px.

- Hình dạng
Chỉ có 2 giá trị: ellipse hoặc circle

- Phạm vi
Hiện nay có 6 loại giá trị mặc định sau:
closest side (bên gần nhất)
closest corner (góc gần nhất)
farthest side (phía xa nhất)
farthest corner (góc xa nhất)
contain (chứa)
cover (che)

- Màu:
Có 2 loại hệ màu: Màu loại RGR-A (ví dụ rgba(184, 138, 79, 0.4)) hoặc HEX (ví dụ: #ccdd00)
- Vị trí màu:
là vị trí từ tâm màu thứ nhất đến màu thứ n. Đơn vị là PX, EM, %

Ví dụ hoàn chỉnh:
background-color:rgba(255, 255, 255, 0.6);
background-image: -moz-radial-gradient(21% 44%, ellipse cover, rgba(255, 255, 255, 0.6), rgba(93, 153, 95, 0.4) -100%,rgba(184, 138, 79, 0.2) 100%);
background-image: -webkit-radial-gradient(21% 44%, ellipse cover, rgba(255, 255, 255, 0.6), rgba(93, 153, 95, 0.4) -100%,rgba(184, 138, 79, 0.2) 100%);
background-image: -o-radial-gradient(21% 44%, ellipse cover, rgba(255, 255, 255, 0.6), rgba(93, 153, 95, 0.4) -100%,rgba(184, 138, 79, 0.2) 100%);
background-image: -ms-radial-gradient(21% 44%, ellipse cover, rgba(255, 255, 255, 0.6), rgba(93, 153, 95, 0.4) -100%,rgba(184, 138, 79, 0.2) 100%);
background-image: radial-gradient(21% 44%, ellipse cover, rgba(255, 255, 255, 0.6), rgba(93, 153, 95, 0.4) -100%,rgba(184, 138, 79, 0.2) 100%)

Như vậy, tôi đã giới thiệu các bạn 2 kiểu trộn màu cơ bản nhất. Kỹ thuật này vẫn đang được phát triển nên các bạn có thể tham khảo các tài liệu phân tích về vấn đề này tại đây:



Bạn xem thêm vài ví dụ :...

Thứ Bảy, 13 tháng 7, 2013

css- multi-level menu DropDown


Trước tiên tôi phải nói là đây không phải là bài viết "mì ăn liền". Mà là bài viết để bạn đọc hiểu về bản chất của việc thiết kế menu thả xuống nhiều cấp.
Trước tiên để hiểu bài bạn cần nắm được kiến thức cơ bản HTML & CSS chỉ có vậy thôi, không cần ngôn ngữ cao siêu nào khác.
Để bắt đầu tạo một menu thả xuống, tất nhiên ta phải đi tìm hiểu làm thử một cái ví dụ đơn giản nhất khi di chuột vào một đối tượng gốc, sẽ hiển thị ra một đối tượng thứ 2.
Ví dụ đơn giản nhất:
<style>
.layer0{position: relative;}
.layer0 .layer1{display:none;}
.layer0:hover .layer1{display:block; position: absolute;}
</style>
<div class="layer0" >layer0 <div class="layer1">layer1</div></div>

layer0
layer1


Nếu thêm những cấp nữa thì thế nào?
Bao nhiêu cấp ta viết bấy nhiêu hiệu ứng hover. Khi di chuột vào cấp n thì cấp n+1 sẽ xuất hiện
<style>
.layer00{position: relative;}
.layer00 .layer01{display:none;}
.layer00:hover .layer01{display:block; position: absolute;}
.layer00 .layer01 .layer02{display:none;}
.layer00:hover .layer01:hover .layer02{display:block; position: absolute; }
.layer00 .layer01 .layer02 .layer03{display:none;}
.layer00:hover .layer01:hover .layer02:hover .layer03{display:block; position: absolute; }
</style>
<div class="layer00">layer00
<div class="layer01">layer01
<div class="layer02">layer02
<div class="layer03">layer03</div>
</div>
</div>
</div>


layer00
layer01
layer02
layer03
Hoặc có thể viết gọn hơn:
<style>
.layer-0{position: relative;}
.layer-1,.layer-2,.layer-3{display:none;position: absolute;}
.layer-0:hover .layer-1,.layer-1:hover .layer-2,.layer-2:hover .layer-3{display:block;}
</style>
<div class="layer00">layer00
<div class="layer01">layer01
<div class="layer02">layer02
<div class="layer03">layer03</div>
</div>
</div>
</div>

layer-0
layer-1
layer-2
layer-3


Như vậy đó là đối với những trường hợp menu có số cấp đã xác định trước, mặc dù chúng ta thường chỉ làm menu có 2,3,4 đến 5 cấp là cùng. Nhưng đôi khi lại muốn vô số cấp, có thể là 10 hoặc 20 cấp mà không xác định trước, chẳng lẽ cứ lặp lại 10-20 lần css như thế.
Để giải quyết vấn đề này về mặt HTML chúng ta sẽ dùng <li>...</li> thay cho <div...>...</div>
Về mặt css sẽ dùng li:hover >ul thay cho hàng loạt lớp con của một đối tượng.
<style>
#nav {
display:inline-block;
width:100%;
background:#ccc;
}
#nav li {
position: relative;
list-style:none;
float:left;
margin:1;
padding:10;
}
#nav ul {
display: none;
position: absolute;
}
#nav li:hover >ul {
display: block;
z-index:1;
padding:0;
width:110px;
background:#E4F1F1;
box-shadow:5px 5px 20px 2px #999999;
}
#nav1 ul li { float:none; margin:0;}
#nav1 ul ul { left:100px;top:0;}
</style>
<ul id="nav">
<li>001</li>
<li>002</li>
<li>004
<ul>
<li>...</li>
<li>...</li>
<li>...</li>
</ul>
</li>
<li>005
<ul>
<li>1-1</li>
<li>1-2+
<ul>
<li>2-1</li>
<li>2-2</li>
<li>2-3+
<ul>
<li>3-1</li>
<li>3-2</li>
<li>3-3</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>







Hoặc có thể viết :
<style>
#nav1 {
display:inline-block;
width:100%;
background:#ccc
}
#nav1 li {
position: relative;
list-style:none;
float:left;
margin:1;
padding:10;
}
#nav1 li:hover > ul { visibility:visible; }
#nav1 ul {
visibility:hidden;
position:absolute;
z-index:1;
padding:0;
width:110px;
background:#E4F1F1;
box-shadow:5px 5px 20px 2px #999999;
}
#nav1 ul li { float:none; margin:0;}
#nav1 ul ul { left:100px;top:0;}
</style>
<ul id="nav1">
<li>001</li>
<li>002</li>
<li>004
<ul>
<li>...</li>
<li>...</li>
<li>...</li>
</ul>
</li>
<li>005
<ul>
<li>1-1</li>
<li>1-2+
<ul>
<li>2-1</li>
<li>2-2</li>
<li>2-3+
<ul>
<li>3-1</li>
<li>3-2</li>
<li>3-3</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>


Như vậy code cơ bản đã có, vấn đề còn lại của mọi người là thêm gia vị (màu mè, hiệu ứng trượt, bóng đổ, bo góc, khung hình) vào để có một phong cách sinh động và phù hợp với trang sẽ ứng dụng.
thaotrinh bendoi.vn
Thứ Tư, 3 tháng 7, 2013

CSS- Drawing cars by css


 Mục đính chính của mình ở bài này không phải là vẽ hình xe ô tô bằng css mà đó chỉ là một ví dụ để chúng ta hiểu cách làm, sử dụng linh hoạt vào việc vẽ nhiều hình khác bằng css. Tại đây hình xe tải bằng css, mình chỉ chú ý đến đường nét mà chưa tại màu nền chuyển, tuy nhiên với css vẫn có thể làm đẹp được hư hình vẽ.

Trước tiên tha xem ứng dụng làm dấu mũi tên chỉ hướng cho những chú thích:
<style>
    .note {
        position:absolute;
        background:#ddd;
        padding:10px;
    }
    .vecter {
        border-left:10px solid transparent;
        border-right:10px solid transparent;
        border-bottom:10px solid #ddd;
        top:-10px;
        right:20px;
        position:absolute;
    }
    .note2 {
        position:absolute;
        background:#ddd;
        padding:10px;
        border-radius:10px;
    }
    .vecter2 {
        border-radius:10px;
        border:10px solid #ddd;
        top:-10px;
        right:20px;
        position:absolute;
    }
</style>
<div class="note">Nội dung chú thích
  <span class="vecter"></span>
</div>
<br/><br/><br/><br/><br/>
<div class="note2">Nội dung chú thích
  <span class="vecter2"></span>
</div>

Nội dung chú thích





Nội dung chú thích





Bây giờ ta sẽ xem chiếc ô tô tải.
<style>
    .oto {
        position:absolute;
        background:#ddd;
        padding:10px;
        border-radius:5px;
        border-top-left-radius:25px;
    }
    .wheel {
        border-radius:50%;
        border:2px solid #fff;
        width:20px;
        height:20px;
        position:absolute;
        background:#ddd;
        bottom:-12px;
    }
    .wheel1 {        left:10px    }
    .wheel2 {        right:40px    }
    .wheel3 {        right:10px    }
    .coachwork {
        width:auto;
        height:4px;
        border-radius:5px;
        top:-4px;
        left:45px;
        right:1px;
        background:#ddd;
        position:absolute;
    }
    .space {
        width:3px;
        height:20px;
        background:#fff;
        position:absolute;
        top:-5px;
        left:45px
    }
</style>
<div class="oto">Nội dung chú thích Nội dung chú thích
  <span class="wheel wheel1"></span>
  <span class="wheel wheel2"></span>
  <span class="wheel wheel3"></span>
  <span class="space"></span>
  <span class="coachwork"></span>
</div>

Nội dung chú thích Nội dung chú thích




TTTj of bendoi.vn
Thứ Hai, 1 tháng 7, 2013

css khung ghi chú đẹp mắt không dùng hình nền


 Đôi khi muốn trang trí một đoạn ghi chú hoặc coment nào đó, ta thường nghĩ đến làm cho nó một hình nền.
Với thủ thuật css này, ta chỉ cần css không dùng hình nền vẫn có một khung ghi chú với border/ backgrounf chấp nhận được.
<style>
#gloss-triangle p{position:relative;background:#51C1FF;padding:15px}
#gloss-triangle p:after{content:"";position:absolute;bottom:-10px;left:10px;border-top:30px solid #51C1FF;border-right:30px solid transparent;width:0;height:0;line-height:0}
#gloss-circle p{position:relative;border-radius:50px;padding:10px;}
#gloss-circle p,#gloss-circle p:after,#gloss-circle p:before{border:5px solid #51C1FF;background:#fff}
#gloss-circle p:after{bottom:-20px;left:30px;width:20px;height:20px}
#gloss-circle p:before{bottom:-30px;left:60px;width:10px;height:10px}
#gloss-circle p:after,#gloss-circle p:before{content:"";position:absolute;border-radius:50%}  
#gloss-triangle1 p{position:relative;background:#51C1FF;padding:25px;height:50px;width:200px;border-radius:50%;line-height:}
#gloss-triangle1 p:after{content:"";position:absolute;bottom:-20px;left:50px;border-top:30px solid #51C1FF;border-right:30px solid transparent;width:0;height:0;line-height:0}
#gloss-circle1 p{position:relative; ;padding:10px;padding:25px;height:50px;width:200px;border-radius:50%;}
#gloss-circle1 p,#gloss-circle1 p:after,#gloss-circle1 p:before{background:#51C1FF}
#gloss-circle1 p:after{bottom:-15px;left:25px;width:50px;height:30px}
#gloss-circle1 p:before{bottom:-30px;left:60px;width:30px;height:20px}
#gloss-circle1 p:after,#gloss-circle1 p:before{content:"";position:absolute;border-radius:50%}  
</style>
<div id="gloss-triangle">
<p> Khung chú thích đẹp mắt, có chỉ hướng hình tam giác vuông
</p>
</div>
<div id="gloss-circle">
<p> Khung chú thích đẹp mắt, có chỉ hướng hình tròn
</p>
</div>
<br/>
<div id="gloss-triangle1">
<p> Khung chú thích đẹp mắt, có chỉ hướng hình tròn
</p>
</div>
<br/>
<div id="gloss-circle1">
<p> Khung chú thích đẹp mắt, có chỉ hướng hình tròn
</p>
</div>

Khung chú thích đẹp mắt, có chỉ hướng hình tam giác vuông
Khung chú thích đẹp mắt, có chỉ hướng hình tròn

Khung chú thích đẹp mắt, có chỉ hướng hình tròn

Khung chú thích đẹp mắt, có chỉ hướng hình tròn

thaotrinh bendoi.vn
Thứ Ba, 28 tháng 5, 2013

CSS tạo hình tam giác với css

Đôi khi design website chúng ta cần một chút hình tam giác nho nhỏ để làm trang trí cho một góc hình nào đó.
Bạn có thể tham khảo một số kiểu sau đây:
<style>
        .triangle-left {
                height:0px;
                border-top: 100px solid transparent;
                border-bottom: 100px solid transparent;
                border-left: 100px solid rgb(179, 137, 62);
        }
        .triangle-right {
                height:0px;
                border-top: 100px solid transparent;
                border-bottom: 100px solid transparent;
                border-right: 100px solid rgb(179, 137, 62);
        }
        .triangle-bottom {
                width:0px;
                border-right: 100px solid transparent;
                border-left: 100px solid transparent;
                border-bottom: 100px solid rgb(179, 137, 62);
        }
        .triangle-top {
                width:0px;
                border-right: 100px solid transparent;
                border-left: 100px solid transparent;
                border-top: 100px solid rgb(179, 137, 62);
        }
        .triangle-top-left {
                width:0px;
                border-right: 100px solid transparent;
                border-top: 100px solid rgb(179, 137, 62);
        }
        .triangle-bottom-left {
                width:0px;
                border-right: 100px solid transparent;
                border-bottom: 100px solid rgb(179, 137, 62);
        }
        .triangle-bottom-right {
                width:0px;
                border-left: 100px solid transparent;
                border-bottom: 100px solid rgb(179, 137, 62);
        }
        .triangle-top-right {
                width:0px;
                border-left: 100px solid transparent;
                border-top: 100px solid rgb(179, 137, 62);
        }
</style>
<div class='triangle-left'>triangle-left</div>
<div class='triangle-right'>triangle-right</div>
<div class='triangle-bottom'>triangle-bottom</div>
<br/>
<div class='triangle-top'>triangle-top</div>
<div class='triangle-top-left'>triangle-top-left</div>
<div class='triangle-bottom-left'>triangle-bottom-left</div>
<div class='triangle-bottom-right'>triangle-bottom-right</div>
<br/>
<div class='triangle-top-right'>triangle-bottom-right</div>

triangle-left
triangle-right
triangle-bottom

triangle-top
triangle-top-left
triangle-bottom-left
triangle-bottom-right

triangle-bottom-right

thaoj!
Thứ Tư, 1 tháng 5, 2013

CSS menu hover trượt mợt

Lúc buồn tay tôi viết một đoạn CSS3 cho vui:

<style>
#thao {margin:auto; width:400px; height:270px; border:1px solid #ccc; position: relative;overflow:hidden;  }
#thao .layer1 {width:200px;height:50px;float:left; display:block; background:#E8F2FF;margin:2px;}
#thao .layer1:hover  { background:#D0E2EE;}
#thao .layer1 .layer2  {width:100px;height:1px;position: absolute; background:#E8F2FF;right:400px;top:0px; opacity:0;transition: all 2s ease-in-out 0s; -webkit-transition:all 2s ease-in-out 0s;}
#thao .layer1:hover .layer2 {width:200px;height:270px; background:#A3BCE3; display:block; right:0px;top:0px;  transition: all 2s ease-in-out 0s;-webkit-transition:all 2s ease-in-out 0s;    opacity:1;  }
</style>

<div id="thao">
  <div class="layer1">1... <div class="layer2">1.2...</div></div>
  <div class="layer1">2... <div class="layer2">2.2...</div></div>
  <div class="layer1">3... <div class="layer2">3.2...</div></div>
  <div class="layer1">4... <div class="layer2">4.2...</div></div>
  <div class="layer1">5... <div class="layer2">5.2...</div></div>
</div>

1...
1.2...
2...
2.2...
3...
3.2...
4...
4.2...
5...
5.2...

Thứ Bảy, 27 tháng 4, 2013

CSS overflow-style

overflow-style 3

Specifies the preferred scrolling method for elements that overflow
Chỉ rõ phương thức di chuyển ưa thích cho các yếu tố tràn

Thuộc tính giá trị Ví dụ Mô tả
overflow-style auto

overflow-style: auto ;  
scrollbar overflow-style: scrollbar;  
panner overflow-style: panner; người sử dụng có thể di chuyển nội dung của phần tử trực tiếp.
move overflow-style: move; người sử dụng có thể kéo nội dung xung quanh với con chuột
marquee; overflow-style: marquee; nội dung di chuyển, mà không có bất kỳ sự kiện nào người sử dụng để kiểm soát nó

Xem ví dụ

<style>
.ttt{ width:100%; height:400px;margin:20px;border:0px solid #ff0099;}
#auto {overflow:hidden; overflow-style: auto; width:450px;height:300px;border:2px solid #ff0099;}
#scrollbar {overflow:hidden; overflow-style:scrollbar;border:2px solid #ff0099;width:450px;height:300px;}
#panner {overflow:hidden; overflow-style:panner;border:2px solid #ff0099;width:450px;height:300px;}
#move {overflow:hidden; overflow-style:move;border:2px solid #ff0099;width:450px;height:300px;}
#marquee {overflow:hidden; overflow-style:marquee;border:2px solid #ff0099;width:450px;height:300px;}
</style>
<div class="ttt">
<div id="auto"><img src="http://tusachphathoc.org/gallery/thumbs/lrg-4128-1038834_12963627-jpg"/></div></div>

<div class="ttt">
<div id="scrollbar"><img src="http://tusachphathoc.org/gallery/thumbs/lrg-4128-1038834_12963627-jpg"/></div></div>

<div class="ttt">
<div id="panner"><img src="http://tusachphathoc.org/gallery/thumbs/lrg-4128-1038834_12963627-jpg"/></div></div>

<div class="ttt">
<div id="move"><img src="http://tusachphathoc.org/gallery/thumbs/lrg-4128-1038834_12963627-jpg"/></div></div>

<div class="ttt">
<div id="marquee"><img src="http://tusachphathoc.org/gallery/thumbs/lrg-4128-1038834_12963627-jpg"/></div></div>

auto
scrollbar
panner
move
marquee

Sự tương thích ( Cập nhật / Báo lỗi )

Firefox Opera Google Chrome Safari IOS Android Window phone
x x x x x x x x

Thứ Sáu, 26 tháng 4, 2013

Một số kiểu hiển thị cố định trên màn hình làm menu hoặc quảng cáo


Một kiểu đơn giản có thể dùng làm menu (thường áp dụng làm menu top) hoặc quảng cáo góc dưới màn hình. Điểm mấu chôt ở đây chính là thuộc tính position: fixed; cố định vùng trên màn hình máy tính.

  • Nếu muốn làm menu top thì chọn top:0px, width:100%
  • nếu muốn làm quảng cáo thì chọn bottom:1px, left:1px hoặc right:1px;
<style>
  #ad-rl{
    right: 5px;bottom: 5px;
    position: fixed;
    width:auto;
    border:1px solid #999;
    padding:10px;
    background: #E4e4e4;
  }
</style>

<div id="ad-rl">
  <a target="_blank" href="http://phim.bendoi.vn">Phim</a><br/>
  <a target="_blank" href="http://music.bendoi.vn">music</a><br/>
  <a target="_blank" href="http://it.bendoi.vn">it</a><br/>
  <a target="_blank" href="http://web.bendoi.vn">web</a><br/>
  <a target="_blank" href="http://test.bendoi.vn">test</a><br/>
  <a target="_blank" href="http://news.bendoi.vn">news</a><br/>
  <a target="_blank" href="http://ebook.bendoi.vn">ebook</a><br/>
  <a target="_blank" href="http://graphic.bendoi.vn">graphic</a><br/>
</div>
Xem demo hiện tượng tại trang này!


Làm nút top/bottom đơn giản
 <a style="position: fixed; Top: 100px; right:10px;" href="#" title="Về đầu trang">
<img src="http://png-3.findicons.com/files/icons/2127/ultimate_gnome/22/go_top.png"></a>
<a style="position: fixed; Top: 150px; right: 10px;" href="javascript:scroll(0,9999999)" title="Xuống cuối trang">
<img src="http://png-4.findicons.com/files/icons/2127/ultimate_gnome/24/bottom.png"></a>

Làm nút top/bottom đơn giản Xem demo trên trang này!

CSS Xoay ngược ảnh, đổi ảnh

Cách dảo ngược đối tượng đơn giản:
<style>
.rotate {margin: auto;width:400px;height:300px;
transition: all 0.5s ease-in-out 0s;
perspective: 500;
background:#E8E8FF;
}
.rotate.x:hover {background-color:#E8E800;transform: rotateX(180deg);-webkit-transform: rotateX(180deg);-moz-transform: rotateX(180deg);-ms-transform: rotateX(180deg);-o-transform: rotateX(180deg);}
.rotate.y:hover {background-color:#E8E800;transform: rotateY(180deg);-webkit-transform: rotateY(180deg);-moz-transform: rotateY(180deg);-ms-transform: rotateY(180deg);-o-transform: rotateY(180deg);}

</style>
<div class="rotate x"><H1>BENDOI.VN</H1></div>
<div class="rotate y"><H1>BENDOI.VN</H1></div>

BENDOI.VN

BENDOI.VN



Cách trên khi kích thước vùng rotate biến đổi, có thể con trỏ chuột không còn nằm trong rotate nữa, khi đó có thể thuộc tính hover không được thực hiện hết.
Một cách trọn vẹn hơn, thêm vùng area cố định bao ngoài rotate, khi chuột đi vào area thì rotate sẽ quay:
<style>
.area {margin: auto;position:relative;width: 400px;     height: 300px;    perspective: 600px; background:#D9D9D9;}
.area .rotate{width: 100%;    height: 100%;
transform-style: preserve-3d;transition: all 0.5s ease-in-out 0s;
-webkit-transition:preserve-3d;transition: all 0.5s ease-in-out 0s;
-o-transition:preserve-3d;transition: all 0.5s ease-in-out 0s;
-moz-transition:preserve-3d;transition: all 0.5s ease-in-out 0s;
}
.area:hover .rotate.x {background-color:#E8E800;transform: rotateX(180deg);-webkit-transform: rotateX(180deg);-moz-transform: rotateX(180deg);-ms-transform: rotateX(180deg);-o-transform: rotateX(180deg);}
.area:hover .rotate.y {background-color:#E8E800;transform: rotateY(180deg);-webkit-transform: rotateY(180deg);-moz-transform: rotateY(180deg);-ms-transform: rotateY(180deg);-o-transform: rotateY(180deg);}
</style>
<div class="area"> <div class="rotate x">   <H1>BENDOI.VN</H1>  </div></div>
<br/>
<div class="area"> <div class="rotate y"> <H1>BENDOI.VN</H1>  </div></div>

BENDOI.VN


BENDOI.VN



Một cách xoay ảnh này sang ảnh khác:
<style type="text/css">
.area {margin: auto;position:relative;width: 400px;     height: 300px;    perspective: 600px; background:#D9D9D9;}
.area .rotate{width: 100%;    height: 100%;
transform-style: preserve-3d; transition: all 0.5s ease-in-out 0s;
-webkit-transition:preserve-3d; transition: all 0.5s ease-in-out 0s;
-o-transition:preserve-3d; transition: all 0.5s ease-in-out 0s;
-moz-transition:preserve-3d; transition: all 0.5s ease-in-out 0s;
}
.area .rotate .truoc,.area .rotate .sau{position:absolute;backface-visibility: hidden;}
.rotate.x .sau{ transform: rotateX(180deg);   -webkit-transform: rotateX(180deg); -o-transform: rotateX(180deg); -moz-transform: rotateX(180deg); }
.area:hover  .rotate.x{ transform: rotateX(180deg);   -webkit-transform: rotateX(180deg); -o-transform: rotateX(180deg); -moz-transform: rotateX(180deg); }
.rotate.y .sau{ transform: rotateY(180deg); -webkit-transform: rotateY(180deg);  -o-transform: rotateY(180deg); -moz-transform: rotateY(180deg);}
.area:hover  .rotate.y{transform: rotateY(180deg);   -webkit-transform: rotateY(180deg);  -o-transform: rotateY(180deg); -moz-transform: rotateY(180deg);}
</style>
<div class="area">
  <div class="rotate x">
    <div class="truoc"><img src="http://....jpg" title="2" /></div>
<div class="sau"><img src="http://....jpg" title="2" /></div>
  </div>
</div>
<div class="area">
<div class="rotate y">
    <div class="truoc"><img src="http://....jpg" title="2" /></div>
<div class="sau"><img src="http://....jpg" title="2" /></div>
</div>
</div>



Một cách viết tương tự:
<style type="text/css">
.area {margin: auto;position:relative;width: 400px;     height: 300px;    perspective: 600px; background:#D9D9D9;}
.area .rotate{width: 100%;    height: 100%;
transform-style: preserve-3d;transition: all 0.5s ease-in-out 0s;
-webkit-transition:preserve-3d;transition: all 0.5s ease-in-out 0s;
-o-transition:preserve-3d;transition: all 0.5s ease-in-out 0s;
-moz-transition:preserve-3d;transition: all 0.5s ease-in-out 0s;
}
.area .rotate >*{position:absolute;backface-visibility: hidden;}
.rotate.x *:nth-child(2){ transform: rotateX(180deg);  -webkit-transform: rotateX(180deg); -o-transform: rotateX(180deg); -moz-transform: rotateX(180deg); }
.area:hover > .rotate.x{ transform: rotateX(180deg);   -webkit-transform: rotateX(180deg); -o-transform: rotateX(180deg); -moz-transform: rotateX(180deg); }
.rotate.y *:nth-child(2){ transform: rotateY(180deg); -webkit-transform: rotateY(180deg);  -o-transform: rotateY(180deg); -moz-transform: rotateY(180deg);}
.area:hover > .rotate.y{transform: rotateY(180deg);   -webkit-transform: rotateY(180deg);  -o-transform: rotateY(180deg); -moz-transform: rotateY(180deg);}
</style>

<div class="area">
<div class="rotate x">
<img src="http://....jpg" title="1"/>
<img src="http://....jpg" title="2" />
</div>
</div>
<div class="area">
<div class="rotate y">
<img src="http://....jpg" title="1"/>
<img src="http://....jpg" title="2" />
</div>
</div>


- Có một bất cập là hiệu ứng thứ nhất đơn giản thì hiển thị trên hầu hết các trình duyệt chính.
- Hiệu ứng thứ 2,3,4 cũng hiển thị được trên các trình duyệt chính nhưng tại thời điểm hiện nay chỉ Firefox mới hiển thị đúng nhất.
Thứ Hai, 22 tháng 4, 2013

Cách design website có số box là lẽ


Có thể nhiều người không để ý rằng khi zoom nhỏ 1 trang web, các box sẽ bị rớt xuống, không còn giống hình dạng ban đầu khi xem bình thường.
Mặc dù điều này chỉ xuất hiện khi zoom < 100 mà thực tế người dùng thường zoom > 100 % để dễ nhìn.
Tuy nhiên với một design chuyên nghiệp thì không nên có điều này.

code khi bình thường, nhiều người sẽ viết:
<style>
.box{width:600px;}
.box-0{width:200px;float:left;}
</style>
<div class="box">
<div class="box-0">...</div><div class="box-0">...</div><div class="box-0">...</div>
</div>

cụ thể sẽ xảy ra trường hợp như hình sau:

Vậy chúng ta có thể viết một cách "chắc ăn" mà đơn giản như "ngày còn bé": 
<table>
<tr>
<td><div class="box-1">...</div></td>
<td><div class="box-2">...</div></td>
<td><div class="box-3">...</div></td>
</tr>
</table>

Nhưng dùng TABLE thì có vẻ không "chuyên nghiệp" lắm, chúng ta nên viết:
 <style>
.box{width:600px;}
.box01,box03 {width:33%; float:left; margin:0; pidding:0;} /* nếu gộp cả 3 cái class thì có thể viết width:33.3% */
.box02 {width:34%; float:left; margin:5px; pidding:5px;}
.box-1,box-2,box-3 {} /*Nếu giống nhau thì bạn gộp chúng thành 1*/
</style>
<div class="box">
<div class="box01"> <div class="box-1">...</div> </div>
<div class="box02"> <div class="box-2">...</div> </div>
<div class="box03"> <div class="box-3">...</div> </div>
</div>

Thứ Năm, 24 tháng 1, 2013

Tổng hợp CSS 1.2.3

Tổng hợp CSS 1-2-3


Thuộc tính Mô tả .
Animation Đặc tính hoạt họa  
@keyframes Dùng để điều khiển diễn biến một hoạt động của thành phần, được dùng kèm với thuộc tính animation. 3
animation Xác định một chuyển động của một thành phần 3
animation-name Xác định tên cho một animation. 3
animation-duration Xác định thời gian để hoàn thành một chu kỳ, mặc định là 0s, 0ms. (1s=1000ms).3 3
animation-timing-function chỉ định tốc độ chuyển động 3
animation-delay Chỉ định các hình ảnh động sẽ bắt đầu 3
animation-iteration-count Xác định số lần thực hiện chuyển động. 3
animation-direction Chỉ định có / không chuyển động ngược lại trên các chu kỳ đi trước. 3
animation-play-state Chỉ định cho hành ảnh động chạy hoặc bị tạm dừng 3
Background Thuộc tính nền  
background Thiết lập tất cả các thuộc tính nền trong một khai báo 1
background-attachment hình nền là cố định hoặc cuộn với phần còn lại của trang 1
background-color Thiết lập màu nền của một phần tử 1
background-image Thiết lập ảnh nền của một phần tử... 1
background-position Thiết lập vị trí bắt đầu của một hình ảnh nền 1
background-repeat Thiết lập một hình ảnh nền sẽ được lặp đi lặp lại như thế nào 1
background-clip Chỉ định khu vực bức tranh của nền 3
background-origin Chỉ định khu vực vị trí của các hình ảnh nền 3
background-size Chỉ định kích thước của các hình ảnh nền 3
Border and Outline đường viền và thuộc tính Outline  
border Thiết lập tất cả các thuộc tính đường viền trong một khai báo 1
border-bottom Xác định đường viền bên dưới. 1
border-bottom-color Xác định màu sắc cho đường viền bên dưới. 1
border-bottom-style Xác định hình dạng của đường viền dưới 1
border-bottom-width ác định bề dày cho đường viền bên dưới. 1
border-color Xác định màu sắc cho tất cả các đường viền xung quanh. 1
border-left Thiết lập tất cả các thuộc tính đường biên lề trái trong một khai báo 1
border-left-color Xác định màu sắc cho đường viền bên trái. 1
border-left-style Thiết lập phong cách của đường viền trái 1
border-left-width Thiết lập độ rộng của đường viền trái 1
border-right Thiết lập tất cả các thuộc tính đường viền trong một tuyên bố 1
border-right-color Thiết lập màu sắc của đường viền bên phải 1
border-right-style Thiết lập phong cách đường viền bên phải 1
border-right-width Thiết lập độ rộng của đường viền phải 1
border-style Xác định hình dạng của đường viền 1
border-top Xác định đường viền bên trên. 1
border-top-color Xác định màu sắc cho đường viền bên trên. 1
border-top-style Xác định hình dạng của đường viền trên 1
border-top-width Xác định bề dày cho đường viền bên trên. 1
border-width Thiết lập độ rộng của bốn đường viền 1
outline hiết lập tất cả các thuộc tính đường viền trong một khai báo 2
outline-color Sets the color of an outline 2
outline-style Sets the style of an outline 2
outline-width Sets the width of an outline 2
border-bottom-left-radius Xác định hình dạng của đường đường viền của các góc dưới bên trái 3
border-bottom-right-radius Xác định hình dạng của đường đường viền của các góc dưới bên phải 3
border-image Dùng để định dạng các dạng border bằng hình ảnh. 3
border-image-outset viết tắt cho thiết lập tất cả các đường viền ảnh (thực tế người ta viết sau border-image) 3
border-image-repeat Thiết lập kiểu lặp lại hình ảnh. Nó thường ko viết riêng lẽ mà viết chung với thuộc tính border-image 3
border-image-slice Chỉ định bù đắp vào phía trong của hình ảnh biên 3
border-image-source Specifies an image to be used as a border Chỉ định một hình ảnh được sử dụng như một đường viền 3
border-image-width Specifies the widths of the image-border Chỉ định độ rộng của hình ảnh biên 3
border-radius Thiết lập bán kính 4 góc đường biên trong 1 lần khai báo 3
border-top-left-radius Xác định hình dạng của đường đường viền của các góc trên bên trái 3
border-top-right-radius Xác định hình dạng của đường đường viền của các góc trên bên phải 3
box-decoration-break *   3
box-shadow Gắn một hoặc nhiều ánh sáng bóng đổ vào hộp 3
Box Hộp  
overflow-x Chỉ định có hay không để cắt các cạnh trái / phải của nội dung, nếu nó tràn khu vực nội dung của phần tử 3
overflow-y Chỉ định có hay không để cắt các cạnh trái / phải của nội dung, nếu nó tràn khu vực nội dung của phần tử 3
overflow-style Chỉ rõ phương thức di chuyển ưa thích cho các yếu tố tràn 3
rotation * Xoay đối tượng quanh 1 điểm cho trước 3
rotation-point Xác định một điểm như là một bù đắp từ các cạnh đường viền trên bên trái 3
Color Màu  
color Màu 3
color-profile * Cho phép các đặc điểm kỹ thuật của một hồ sơ màu nguồn khác với mặc định * 3
opacity độ trong suốt của thành phần 3
rendering-intent * Cho phép các đặc điểm kỹ thuật về màu đối tượng khác với màu mặc định 3
Content for Paged Media Nội dung cho Media Paged  
bookmark-label * Xác định nhãn của các dấu trang 3
bookmark-level * Chỉ định mức độ của các dấu trang 3
bookmark-target * Chỉ định các mục tiêu của liên kết bookmark 3
float-offset * Đẩy các yếu tố lưu hành theo hướng ngược lại của họ đã được lưu hành với phao 3
hyphenate-after * Chỉ định số lượng tối thiểu các ký tự trong một từ hyphenated sau khi ký tự gạch nối 3
hyphenate-before * Chỉ định số lượng tối thiểu các ký tự trong một từ hyphenated trước khi ký tự gạch nối 3
hyphenate-character * Chỉ định một chuỗi được hiển thị khi một gạch nối phá vỡ xảy ra 3
hyphenate-lines * Cho biết số lượng tối đa của dòng kế tiếp hyphenated trong một phần tử 3
hyphenate-resource * Chỉ định một danh sách được phân cách bằng dấu phẩy giúp trình duyệt xác định điểm dùng dấu gạch nối 3
hyphens * Đặt làm thế nào để phân chia các từ để cải thiện bố cục đoạn văn 3
image-resolution * Chỉ định độ phân giải chính xác của hình ảnh 3
marks * Thêm cây trồng và / hoặc các dấu chéo vào tài liệu 3
string-set *   3
Dimension Kích thước  
height Thiết lập chiều cao của một phần tử 1
max-height Thiết lập chiều cao tối đa của một phần tử 2
max-width Thiết lập chiều rộng tối đa của một phần tử 2
min-height Thiết lập chiều cao tối thiểu của một phần tử 2
min-width Thiết lập chiều rộng tối thiểu của một phần tử 2
width Bộ chiều rộng của một phần tử 1
Flexible Box Trình bày nhóm các hộp  
box-align Xác định vị trí cho thành phần theo chiều dọc hoặc theo chiều thẳng đứng. 3
box-direction Xác định chiều load các đối tượng theo chiều trái <-> phải 3
box-flex Xác định sự ưu tiên linh hoạt theo các thành phần khác. 3
box-flex-group * Gán các yếu tố linh hoạt để flex nhóm 3
box-lines Chỉ định cột sẽ đi vào một dòng mới bất cứ khi nào nó chạy ra khỏi không gian trong hộp 3
box-ordinal-group Chỉ định thứ tự hiển thị của các phần tử con của một hộp 3
box-orient Xác định thành phần dọc theo phương hướng khối hoặc theo trục. 3
box-pack Định vị trí của thành phần theo mép rìa của thành phần. 3
Font    
font Thiết lập tất cả các thuộc tính phông chữ trong một khai báo 1
font-family Chỉ định font cho văn bản 1
font-size Chỉ định kích thước font chữ của văn bản 1
font-style Chỉ định kiểu font chữ cho văn bản 1
font-variant Chỉ định có hay không một văn bản sẽ được hiển thị trong một phông chữ nhỏ mũ 1
font-weight Xác định độ dày của một font chữ 1
@font-face Cho phép các trang web để tải về và sử dụng phông chữ khác với font chữ có trong máy 3
font-size-adjust Bảo tồn khả năng đọc văn bản khi font chữ dự phòng xảy ra 3
font-stretch Kéo giản font chữ 3
Generated Content Thêm ký tự, số thứ tự vào đầu hoặc cuối danh danh sách  
content Được sử dụng với: :before and :after để chèn nội dung được tạo ra 2
counter-increment Thuộc tính counter-increment khi sử dụng sẽ gia tăng một hoặc nhiều counter (sắp xếp có thứ tự, có hiển thị số) 2
counter-reset Tạo hoặc reset một hoặc nhiều counter. 2
quotes Thiết lập các loại dấu ngoặc kép để trích dẫn "..." 2
crop * Allows a replaced element to be just a rectangular area of an object, instead of the whole object 3
move-to * Causes an element to be removed from the flow and reinserted at a later point in the document 3
page-policy * Determines which page-based occurance of a given element is applied to a counter or string value 3
Grid Lưới  
grid-columns * Xác định chiều rộng của mỗi cột 3
grid-rows * Xác định chiều rộng của mỗi dòng 3
Hyperlink    
target * A shorthand property for setting the target-name, target-new, and target-position properties 3
target-name * Specifies where to open links (target destination) 3
target-new * Specifies whether new destination links should open in a cửa sổ mới hoặc in a new tab of an existing window 3
target-position * Specifies where new destination links should be placed 3
Linebox    
alignment-adjust * Allows more precise alignment of elements 3
alignment-baseline * Specifies how an inline-level element is aligned with respect to its parent 3
baseline-shift * Allows repositioning of the dominant-baseline relative to the dominant-baseline 3
dominant-baseline * Specifies a scaled-baseline-table 3
drop-initial-after-adjust * Sets the alignment point of the drop initial for the primary connection point 3
drop-initial-after-align * Sets which alignment line within the initial line box is used at the primary connection point with the initial letter box 3
drop-initial-before-adjust * Sets the alignment point of the drop initial for the secondary connection point 3
drop-initial-before-align * Sets which alignment line within the initial line box is used at the secondary connection point with the initial letter box 3
drop-initial-size * Controls the partial sinking of the initial letter 3
drop-initial-value * Activates a drop-initial effect 3
inline-box-align * Sets which line of a multi-line inline block align with the previous and next inline elements within a line 3
line-stacking * A shorthand property for setting the line-stacking-strategy, line-stacking-ruby, and line-stacking-shift properties 3
line-stacking-ruby * Sets the line stacking method for block elements containing ruby annotation elements 3
line-stacking-shift * Sets the line stacking method for block elements containing elements with base-shift 3
line-stacking-strategy * Sets the line stacking strategy for stacked line boxes within a containing block element 3
text-height * Sets the block-progression dimension of the text content area of an inline box 3
List Danh sách  
list-style hiết lập tất cả thuộc tính cho một danh sách trong một khai báo 1
list-style-image Chỉ định một hình ảnh như danh sách các điểm đánh dấu mục 1
list-style-position Xác định nếu các dấu mục danh sách sẽ xuất hiện bên trong hoặc bên ngoài dòng chảy nội dung 1
list-style-type Chỉ định các loại đánh dấu mục danh sách (a,b,c; A,B,C; I,II,III;...) 1
Margin    
margin Thiết lập tất cả các thuộc tính lề trong một khai báo 1
margin-bottom Thiết lập lề dưới của một phần tử 1
margin-left Thiết lập lề trái của một phần tử 1
margin-right Thiết lập lề phải của một phần tử 1
margin-top hiết lập lề trên của một phần tử 1
Marquee Khoảng cách vùng đệm (khoảng trống) từ lề 1 đối tượng đến đối tượng xung quanh  
marquee-direction * Sets the direction of the moving content 3
marquee-play-count * Sets how many times the content move 3
marquee-speed * Sets how fast the content scrolls 3
marquee-style * Sets the style of the moving content 3
Multi-column Sự phân chia 1 đoạn văn bản thành nhiều cột văn bản như báo giấy  
column-count Chỉ định số lượng các cột một phần tử được chia thành 3
column-fill Specifies how to fill columns 3
column-gap Chỉ định khoảng cách giữa các cột 3
column-rule Đường kẻ phân chia các cột 3
column-rule-color Chỉ định màu sắc của các quy tắc giữa các cột 3
column-rule-style Chỉ định phong cách của các quy tắc giữa các cột 3
column-rule-width Xác định chiều rộng của các quy tắc giữa các cột 3
column-span Số cột hiển thị tiền tố 3
column-width Xác định chiều rộng của các cột 3
columns thiết lập chiều rộng cột và cột số 3
Padding Khoảng Vùng đệm (khoảng trống) từ đường viền 1 đối tượng vào phần nội dúng trong đối tượng đó  
padding Thiết lập tất cả các thuộc tính padding trong một khai báo 1
padding-bottom Thiết lập đệm dưới cùng của một phần tử 1
padding-left Thiết lập đệm trái của một phần tử 1
padding-right Thiết lập đệm phải của một phần tử 1
padding-top Thiết lập đệm trên của một phần tử 1
Paged Media    
fit * Gives a hint for how to scale a replaced element nếu không its width nor its height property is auto 3
fit-position * Determines the alignment of the object inside the box 3
image-orientation * Specifies a rotation in the right or clockwise direction that a user agent applies to an image 3
page * Specifies a particular type of page where an element SHOULD be displayed 3
size * Specifies the size and orientation of the containing box for page content 3
Positioning Định vị  
bottom Xác định vị trí dưới cùng của thành phần 2
clear Xác định hai mặt của một yếu tố mà các yếu tố khác không được phép xuất hiện 1
clip Định vị một vùng của đối tượng được phép hiển thị . 2
cursor Xác định kiểu con trỏ chuột được hiển thị. 2
display Chỉ định một phần tử HTML nào đó sẽ được hiển thị như thế nào 1
float Chỉ định có hay không một hộp luôn nổi 1
left Chỉ định vị trí bên trái của một đối tượng 2
overflow Chỉ định những gì sẽ xảy ra nếu tràn bộ nội dung của một khung 2
position Chỉ định kiểu của phương pháp định vị được sử dụng cho một phần tử (tĩnh, tương đối, tuyệt đối hay cố định) 2
right Chỉ định vị trí bên phải của một đối tượng 2
top Xác định vị trí dưới cùng của thành phần 2
visibility hỉ định có hay không một phần tử có thể nhìn thấy 2
z-index Thiết lập thứ tự sắp xếp các đối tượng tại một vị trí 2
Print    
orphans * Sets the minimum number of lines that must be left at the bottom of a page when a page break occurs inside an element 2
page-break-after * Thuộc tính page-break-after xác định các phân chia văn bản ngay sau thành phần. 2
page-break-before * Xác định các phân chia văn bản ngay trước thành phần 2
page-break-inside * Xác định các phân chia văn bản ngay bên trong thành phần. 2
widows * Sets the minimum number of lines that must be left at the top of a page when a page break occurs inside an element 2
Ruby    
ruby-align * Controls the text alignment of the ruby text and ruby base contents relative to each other 3
ruby-overhang * Determines whether, and on which side, ruby text is allowed to partially overhang any adjacent text in addition to its own base, when the ruby text is wider than the ruby base 3
ruby-position * Controls the position of the ruby text with respect to its base 3
ruby-span * Controls the spanning behavior of annotation elements 3
Speech    
mark * A shorthand property for setting the mark-before and mark-after properties 3
mark-after * Allows named markers to be attached to the audio stream 3
mark-before * Allows named markers to be attached to the audio stream 3
phonemes * Specifies a phonetic pronunciation for the text contained by the corresponding element 3
rest * A shorthand property for setting the rest-before and rest-after properties 3
rest-after * Specifies a rest or prosodic boundary to be observed after speaking an element's content 3
rest-before * Specifies a rest or prosodic boundary to be observed before speaking an element's content 3
voice-balance * Specifies the balance between left and right channels 3
voice-duration * Specifies how long it should take to render the selected element's content 3
voice-pitch * Specifies the average pitch (a frequency) of the speaking voice 3
voice-pitch-range * Specifies variation in average pitch 3
voice-rate * Controls the speaking rate 3
voice-stress * Indicates the strength of emphasis to be applied 3
voice-volume * Refers to the amplitude of the waveform output by the speech synthesises 3
Table    
border-collapse Thuộc tính border-collapse xác định đường viền của table có tách biệt ra hay không. 2
border-spacing xác định khoảng cách giữa các đường viền của các cột lân cận. 2
caption-side Xác định vị trí một chú thích của table. 2
empty-cells Chỉ định có hay không để hiển thị đường viền và các nền vào ô trống trong một bảng 2
table-layout Thiết lập các thuật toán bố trí được sử dụng cho một bảng 2
Text    
color Thiết lập màu sắc của văn bản. 1
direction Xác định hướng cho văn bản. Load từ tái hoặc từ phải. 2
letter-spacing Tăng hoặc giảm khoảng cách giữa các ký tự trong đoạn text. 1
line-height Thiết lập chiều cao dòng 1
text-align Chỉ định sự liên kết ngang của văn bản Load từ tái hoặc từ phải. 1
text-decoration Quy định cụ thể trang trí thêm cho văn bản (gạch trên, gạch dưới, gạch ngang,..) 1
text-indent Chỉ định thụt đầu dòng của dòng đầu tiên trong một khối văn bản 1
text-transform Viết hoa/ thường 1
unicode-bidi *   2
vertical-align sắp xếp các nội dung theo chiều dọc 1
white-space Xác định khoảng trắng có bên trong thành phần được xử lý như thế nào 1
word-spacing Tăng hoặc giảm không gian giữa các từ trong một văn bản 1
hanging-punctuation * Xác định một dấu chấm câu có thể đặt ở đầu hoặc ở cuối của một dòng văn bản. 3
punctuation-trim * Specifies whether a punctuation character should be trimmed 3
text-align-last   3
text-justify Tăng hoặc giảm khoảng cách giữa các từ và giữa các ký tự sao cho dàn đều thành phần. 3
text-outline * Xác định dạng vùng biên cho text. 3
text-overflow Xác định vùng text bị cắt bớt. 3
text-shadow Thêm bóng cho văn bản 3
text-wrap * Định dạng dòng text có bị ngắt đoạn hay không. 3
word-break Sẽ làm cho những chữ trong một từ không còn là một thể thống nhất, có thể xuống hàng bất cứ vị trí nào trong từ. 3
word-wrap Thuộc tính word-wrap sẽ làm cho những từ dài xuống hàng mà không làm vỡ layout. 3
2D/3D Transform    
transform Áp dụng một chuyển đổi 2D hoặc 3D một phần tử 3
transform-origin Cho phép bạn thay đổi vị trí trên các yếu tố biến đổi 3
transform-style Các đối tượng lồng nhau vẫn giữ được tỷ lệ kích thước trong xử lý 3D. 3
perspective Tạo cảm giác cho ta thấy được chiều sâu của thành phần, ... 3
perspective-origin Đặt trục quay cho thành phần có sử dụng perspective. 3
backface-visibility Xác định bề mặt sau của thành phần khi thực hiện một chuyển động xoay. 3
Transition    
transition Thiết lập các thuộc tính chuyển động trong 1 lần khai báo. [property] [duration] [timing-function] [delay]. 3
transition-property Xác định phương hướng chuyển động đối tượng (height , width, all, none) 3
transition-duration Thời gian chuyển động (s, ms) 3
transition-timing-function kiểu tốc độ hiệu ứng của 1 quá trình chuyển động (ease, ease-in, ease-out, ease-in-out, linear, cubic-bezier(0,1,0.35,0)) 3
transition-delay Xác định thời gian chờ đợi trước khi các hiệu ứng của quá trình chuyển đổi sẽ bắt đầu. (s, ms) 3
User-interface    
appearance Cho phép bạn thực hiện một cái nhìn yếu tố giống như một yếu tố giao diện người sử dụng tiêu chuẩn 3
box-sizing Xác định lại chiều rộng và chiều cao của thành phần 3
icon *   3
nav-down Xác định nơi để điều hướng khi sử dụng phím điều hướng mũi tên bên dưới 3
nav-index Chỉ định thứ tự tabbing cho một phần tử 3
nav-left Xác định nơi để điều hướng khi sử dụng phím điều hướng mũi tên bên trái 3
nav-right Xác định nơi để điều hướng khi sử dụng phím điều hướng mũi tên bên phải 3
nav-up Xác định nơi để điều hướng khi sử dụng phím điều hướng mũi tên bên trên 3
outline-offset Khoảng cách vùng đệm và cũng là thông số kích thước phần đối tượng vượt tràn ra ngoài 3
resize Người dùng thay đổi kích thước đối tượng 3

Chú thích:
- Dấu *: thuộc tính css này đang trong giai đoạn nghiên cứu, chưa hoàn thiện và chưa có trình duyệt nào hỗ trợ.
- Xem trang này tốt nhất với màn hình tối thiểu 1024x768 và máy tính có kết nối internet.
- Phần dịch tiếng việt có thể không đúng nghĩa và chỉ mang tính tương đối, mong các bạn thông cảm và comment phía dưới để lập cập nhật sau hoàn thiện hơn. Cám ơn tất cả!
Báo lỗi | Update & edit 2013-02-17 18:21