Frames là sáng kiến của [Netscape] bắt đầu từ Navigator version 2.0. [Microsoft] Internet Explorer (version 3.0 trở lên) cũng đọc được Frames. Dùng Frames, bạn có thể chia một window ra làm nhiều phần riêng biệt, không phụ thuộc vào nhau và có thể chứa những nội dung khác nhau. Từ Frame này có thể thay đổi nội dung của Frame kia. Như vậy website của bạn sẽ được bố cục rõ ràng hơn, tiện lợi hơn và người xem có thể tìm được cái mình tìm nhanh chóng hơn. Ai hay sử dụng Windows Explorer sẽ thấy được tác dụng tương tự của Frames.
Khi chia window, bạn sẽ có ít nhất 2 Frames. Những Frames này được gọi là một Frame-Set. Một trang sử dụng Frames có cấu trúc cơ bản như sau:
Ðể chia một window ra làm hai phần theo chiều dọc, phần bên trái chiếm 30%, phần bên phải 70% chiều rộng của window ta làm như sau:
Tương tự như vậy ta chia theo chiều ngang, nhưng lần này chia làm 3 phần (30%, 50% và * là phần còn lại của màn hình):
cols (columns) chia window theo chiều dọc. Các giá trị 30% , 70% có thể được thay bằng số pixels như 150 , 500
rows cho phép chia theo chiều ngang. 30%, 50% là chiều cao của hai Frames đầu. Dấu * cho biết chiều cao của Frame thứ 3 là phần còn lại của window.
tên và nội dung của frame bên trái. Bạn cứ tưởng tượng, bạn tạo được một khung ảnh có hai ngăn (tương tự như một frameset), mỗi ngăn chứa một bức ảnh (đây là một trang web). Frame bên trái tên là "trai" và chứa trang "trai.htm". Tương tự như vậy với "ben phai", "phai.htm", "tren", "tren.htm", "duoi", "duoi.htm", "con_lai", "conlai.htm
Như vậy ta đã có được những bức ảnh trong khung. Nhưng mục đích chính của Frames không phải là làm thế nào để có nhiều trang trong một window mà là làm thế nào để dùng link của Frame này thay đổi nội dung của Frame kia. Bây giờ ta hãy thử dùng trang "trai.htm" làm navigation để thay đổi nội dung Frame "phai". Khi đó ta phải dùng thêm một dòng code nữa trong trang "trai.htm".
Bạn hãy click "xem vi du" sau đó dùng chuột phải click vào trang "trai.htm" trong frame "trai" để xem html-code.
Và một ví dụ nữa sẽ cho thấy khả năng của Frames. Trong ví dụ này, đầu tiên ta chia window ra làm 2 phần sau đó lại chia phần thứ 2 ra làm đôi. Code của nó như sau: