Có tất cả 4 giá trị cho Position property là: Static, Absolute, Fixed và Relative. Trong đó Static là giá trị mặc định khi không có giá trị nào được gán. Trong ví dụ dưới đây bạn sẽ thấy có 4 đoạn văn ngắn. Đoạn văn thứ 1, 2 và 4 tôi để giá trị mặc định là Static và đoạn văn thứ 3 được gán id để chúng ta có thể thay đổi nó mà không ảnh hưởng đến các đoạn khác.
Static Position
Trước hết là chế độ Static mặc định khi không có giá trị nào được gán, bạn sẽ thấy 4 đoạn văn xếp chồng lên nhau
Với giá trị Static (giá trị mặc định) các thành phần chỉ đơn thuần được sắp xếp theo thứ tự xuất hiện và được phân cách bởi các giá trị margin mặc định. Để thay đổi cách sắp xếp này, bạn cần sử dụng một trong những cách sau đây.
Relative Position
Bây giờ chúng ta sẽ thử di chuyển đoạn văn thứ 2 bằng cách gán cho nó giá trị là relative. Ở mỗi giá trị này sẽ có 4 tuỳ biến lần lượt là top, right, bottom và left cho bạn sử dụng. Tuy nhiên trong hầu hết các trường hợp, bạn chỉ cần sử dụng hai giá trị là top và left là đủ đạt được mục đích.
1
2
| p#second { position : relative ; top : 10px ; left : 20px ; border : 1px solid #a4a4a4 ; background : #faf3c7 ;} |
Ở code HTML bạn phải có
1
2
3
4
| < p >Đoạn văn bản thứ nhất …</ p > < p id = "second" >Đoạn văn bản thứ 2 …</ p > < p >Đoạn văn bản thứ 3 ..</ p > < p >Đoạn văn bản thứ 4 …</ p > |
Ở trình duyệt bạn sẽ thấy đoạn văn bản thứ 2 bị dịch chuyển xuống dưới 10px và lệch sang phải 20px. Như đã nói ở trên các thành phần có mối liên quan đến nhau, do vậy khi bạn đặt giá trị {top: 10px; left: 20px;} thì đoạn văn này sẽ bị di chuyển tương ứng với đoạn văn nằm trên nó. Cụ thể cạnh trên của nó cách cạnh đáy của đoạn thứ 1 là 30px.
Ở trong trường hợp Relative này, khi đoạn văn bị di chuyển nó cũng để lại một khoảng trống bằng với kích thước cũ của nó và dù nó di chuyển sang vị trí mới. Khoảng không nó chiếm vẫn không bị mất đi. Cho nên nếu bạn sử dụng phương pháp này vào giao diện, bạn cũng cần di chuyển đoạn văn thứ 4 sao cho nó không bị đè lên nhau.
Absolute Position
Trong phần này ta sẽ thử với giá trị là absolute
Bạn sẽ thấy đoạn văn thứ2 bị di chuyển lên trên và cách biên trình duyệt là 10px và 20px tương ứng với trên và trái. Bởi vì khi định vị với giá trị là absolute cho một thành phần nào đó, nó sẽ bị tách ra khỏi vị trí thông thường của nó. Khoảng không cũ nó bỏ lại đã bị đoạn văn thứ 3 di chuyển lên lấp lại. Đoạn văn thứ 2 này trở nên hoàn toàn độc lập với các thành phần xung quanh.
Fixed Position
Fixed Position cho hiệu ứng giống y như absolute chỉ có điều khi bạn kéo thanh cuộn dọc, đoạn văn thứ 3 sẽ giữ nguyên vị trí và không bị cuốn theo trình duyệt. Đặc tính này hiện nay ít được sử dụng hơn. Nhưng nếu bạn muốn một thành phần nào đó như là nút bấm hoặc hình quảng cáo luôn kè kè theo sát người đọc mỗi khi họ kéo thanh cuộn dọc, thì bạn có thể sử dụng tính năng này.
Gửi ý kiến của bạn cho bài viết này :