Hướng dẫn css absolute position best practice - css vị trí tuyệt đối thực hành tốt nhất

Giới thiệu

Trong bài viết này, bạn sẽ học cách sử dụng CSS position: relativeposition: absolute thông qua số lượng lớn các bản demo và hỗ trợ học tập.

CSS position đôi khi được coi là một chủ đề nâng cao bởi vì nó có thể làm những việc có phần bất ngờ. Chà, đừng để cho các chuyên gia, các chuyên gia sợ hãi khi bạn theo đuổi sự xuất sắc trong năng lực CSS của bạn! Đó là một chủ đề rất dễ tiếp cận khi bạn đã trang bị một số ý tưởng cơ bản.

Kết xuất dòng chảy

Một khái niệm quan trọng để hiểu định vị tương đối/tuyệt đối là dòng chảy.

Ý tưởng chung là các yếu tố HTML đều chiếm một số không gian. Công cụ kết xuất trình duyệt của bạn luôn hiển thị mọi thứ theo kiểu giống như lưới, bắt đầu ở góc trên cùng bên trái và di chuyển liên tiếp về phía dưới bên phải cho đến khi nó thực hiện tất cả nội dung HTML của bạn.

Nếu bạn đã từng có một kết nối internet chậm và xem những thứ lớn trên trang web sẽ đẩy mọi thứ ngay lập tức và xuống, thì đó thực chất là kết xuất dòng chảy.

Bạn có thể thay đổi hành vi mặc định này bằng CSS position.

Vị trí CSS

CSS position đôi khi được coi là một kỹ năng nâng cao bởi vì nó không trực quan như font-size hoặc

.green-square {
  position: relative;
  top: 25px;
  left: 25px;
  /* ... */
}
0, v.v., vì nó thay đổi dòng chảy tự nhiên của trình duyệt.

Đây là những giá trị có thể cho CSS position:

.foo {
  position: static;
  /* position: relative;
  position: absolute;
  position: sticky;
  position: fixed; */
}

Hôm nay, chúng tôi sẽ chỉ nhìn vào position: absoluteposition: relative vì họ có lẽ là những người linh hoạt nhất sẽ giúp bạn có được nhiều dặm một khi bạn cảm thấy tự tin với họ.

Định vị tương đối

Khi bạn tạo ra một phần tử HTML position: relative, nó sẽ vẫn còn trong dòng chảy của bố cục nhưng bạn có thể di chuyển nó xung quanh!

.green-square {
  position: relative;
  top: 25px;
  left: 25px;
  /* ... */
}

Cùng với position: relative, bạn thường muốn xác định

.green-square {
  position: relative;
  top: 25px;
  left: 25px;
  /* ... */
}
6,
.green-square {
  position: relative;
  top: 25px;
  left: 25px;
  /* ... */
}
7,
.green-square {
  position: relative;
  top: 25px;
  left: 25px;
  /* ... */
}
8 hoặc
.green-square {
  position: relative;
  top: 25px;
  left: 25px;
  /* ... */
}
9 Offset.

Bạn có thể nghĩ về vị trí tương đối của người Viking như là: Liên quan đến nơi nó được định vị ban đầu. Trong trường hợp này, Quảng trường Xanh hiện là

.orange-square {
  position: absolute;
  top: 0px;
  left: 0px;
  /* ... */
}
0 và
.orange-square {
  position: absolute;
  top: 0px;
  left: 0px;
  /* ... */
}
1 về nơi nó ban đầu sẽ đến.

Điều mà cũng đáng chú ý là chiều rộng và chiều cao của nó được bảo tồn trong lưới vuông. Điều đó có nghĩa là nó vẫn còn được coi là người khác trong dòng chảy của bố cục, nó chỉ bị ảnh hưởng.

Định vị tuyệt đối

Định vị tuyệt đối là một quy tắc CSS rất mạnh để di chuyển các phần tử HTML xung quanh. Đôi khi mang lại kết quả bất ngờ:

.orange-square {
  position: absolute;
  top: 0px;
  left: 0px;
  /* ... */
}

Quảng trường màu cam thực sự là thứ 13 trong số 25 hình vuông này [hình ở giữa lưới], nhưng có vẻ như nó là hình vuông cuối cùng! Kỳ dị. Sử dụng position: absolute đưa các yếu tố ra khỏi dòng chảy, do đó, không gian lưới của nó bị sụp đổ.

Phải, nhưng tại sao lại có tất cả các con đường lên đó ?!

Tọa độ bắt nguồn

Quảng trường màu cam được đặt ở tọa độ 0x, 0y [ví dụ: góc trên cùng bên trái]. Chỉ cần kết xuất trình duyệt luôn bắt đầu ở góc trên cùng bên trái, các yếu tố position: absolute sử dụng đó làm nguồn gốc kết xuất của chúng. Bạn có thể sử dụng ________ 16/________ 17/________ 18/________ 19 Thuộc tính để bù nó từ đó.

Nhưng, bạn cũng có thể cung cấp cho nó các tọa độ nguồn gốc khác nhau

.grid {
  position: relative;
}
.orange-square {
  position: absolute;
  top: 0px;
  left: 0px;
  /* ... */
}

Trong ví dụ trên, phần tử cha [

.orange-square {
  position: absolute;
  top: 0px;
  left: 0px;
  /* ... */
}
8] có quy tắc position: relative khiến hình vuông màu cam coi đó là nguồn gốc kết xuất của nó.

Trong khi điều này có vẻ như hành vi không trực quan, nhưng nó thực sự có chủ ý! Cho phép điều này cung cấp cho bạn rất nhiều quyền kiểm soát đối với nơi/cách bạn sắp xếp các yếu tố HTML

Sự kết luận

Khi bạn bắt đầu sử dụng position: relativeposition: absolute, nó sẽ mở ra một thế giới mới về các khả năng thiết kế. Bạn có thể tạo ra các yếu tố thị giác nhiều lớp và cảm thấy sự tự tin sâu sắc về cách trình duyệt sẽ hiển thị, và do đó đặt các yếu tố thị giác mà bạn đã thiết kế tỉ mỉ.

Đó có phải là thực hành tốt để sử dụng vị trí tuyệt đối?

Sử dụng định vị tuyệt đối là cứng nhắc hơn nhiều và gây khó khăn cho việc viết bố cục phản ứng tốt với việc thay đổi nội dung. Họ chỉ đơn giản là quá rõ ràng.. They're simply too explicit.

Khi nào bạn nên sử dụng CSS định vị tuyệt đối?

Tuyệt đối. Vị trí tuyệt đối đưa tài liệu ra khỏi luồng tài liệu. Điều này có nghĩa là nó không còn chiếm bất kỳ không gian nào như những gì tĩnh và tương đối làm. Khi vị trí tuyệt đối được sử dụng trên một phần tử, nó được định vị hoàn toàn với tham chiếu đến cha mẹ gần nhất có giá trị tương đối vị trí.When position absolute is used on an element, it is positioned absolutely with reference to the closest parent that has a position relative value.

Điều gì xảy ra với vị trí tuyệt đối trong CSS?

Định vị tuyệt đối Ngược lại, một yếu tố được định vị hoàn toàn được đưa ra khỏi dòng chảy;Do đó, các yếu tố khác được định vị như thể nó không tồn tại.Yếu tố định vị hoàn toàn được định vị so với tổ tiên được định vị gần nhất [tức là, tổ tiên gần nhất không tĩnh].an element that is absolutely positioned is taken out of the flow; thus, other elements are positioned as if it did not exist. The absolutely positioned element is positioned relative to its nearest positioned ancestor [i.e., the nearest ancestor that is not static ].

Vị trí tốt nhất trong CSS là gì?

Định vị tuyệt đối là tốt nhất nếu bạn cần một cái gì đó được đặt ở tọa độ chính xác.Định vị tương đối sẽ lấy ở nơi phần tử đã có và thêm tọa độ vào nó.Vì vậy, ví dụ nếu tôi có một phần tử bên trong A và tôi muốn thụt vào nó, tôi sẽ sử dụng tương đối với, nói, trái: 15;.absolute positioning is best if you need something the be placed at an exact coordinate. The relative positioning will take where the element already is, and add the coordinates to it. So for example if I have a

element inside of a

and I want to indent it, I would use relative with, say, left:15; .

Bài Viết Liên Quan

Chủ Đề