Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> CSS

Căn chỉnh phần tử với thuộc tính position trong CSS

Chúng ta có thể căn chỉnh các phần tử bằng các phương pháp định vị CSS (fixed, relative, absolute, static) và các thuộc tính (left, right, top, bottom).

Ví dụ 1: Kết hợp relative, absolute, fixed

<!DOCTYPE html>
<html>
<head>
<title>Alignment using CSS Position</title>
<style>
  .screen {
    padding: 10px; width: 70%; margin: 0 auto;
    background-color: #f06d06; text-align: center; color: white;
    border-radius: 0 0 50px 50px; border: 4px solid #000;
  }
  .backSeats div {
    margin: 10px; padding: 10px; color: white; border: 4px solid #000;
    background-color: #dc3545;
  }
  .rightAbsolute {
    position: absolute; right: 0px; top: 80px;
  }
  .backLeftSeat {
    background-color: #dc3545; max-height: 100px; height: 70px;
    margin: 20px; width: 300px; display: inline-block;
    position: relative; resize: vertical; overflow: auto; border: 4px solid #000;
  }
  .withPosition {
    position: absolute; top: 50%; left: 20px; right: 20px;
    color: white; padding: 20px; transform: translateY(-50%);
  }
</style></head>
<body>
  <div class="screen">Screen</div>
  <div class="backLeftSeat">
    <div class="withPosition">Premium Readjustable Sofa</div>
  </div>
  <div class="backSeats">
    <div class="rightAbsolute">Premium Absolute Positioned Seat</div>
  </div>
</body>
</html>

Kết quả

Căn chỉnh phần tử với thuộc tính position trong CSS

Ví dụ 2: Relative vs Absolute vs Fixed

<!DOCTYPE html>
<html>
<head>
<style>
  div { border: 2px double #a43356; margin: 5px; padding: 5px; }
  #d1 { position: relative; height: 10em; }
  #d2 { position: absolute; width: 20%; bottom: 10px; /*relative to parent d1*/ }
  #d3 { position: fixed; width: 30%; top: 10em; /*relative to viewport*/ }
</style>
</head>
<body>
  <div id="d1">
    In HBase, tables are split into regions and are served by the region servers. Regions are vertically divided by column families into “Stores”. Stores are saved as files in HDFS. HBase has three major components: the client library, a master server, and region servers. Region servers can be added or removed as per requirement.
    <mark>relative</mark>
    <div id="d2"><mark>absolute</mark></div>
    <div id="d3"><mark>fixed</mark></div>
  </div>
</body>
</html>

Kết quả

Căn chỉnh phần tử với thuộc tính position trong CSS

So sánh 4 giá trị position:

Giá trịĐặc điểmĐối tượng tham chiếu
staticMặc định, theo luồng văn bản bình thườngKhông ảnh hưởng bởi top/right/bottom/left
relativeVẫn ở vị trí gốc, có thể dịch chuyểnVị trí gốc của chính nó
absoluteRời khỏi luồng văn bản, định vị chính xácAncestor gần nhất có position != static
fixedRời khỏi luồng, cố định trên màn hìnhViewport (cửa sổ trình duyệt)
stickyKết hợp relative + fixed (khi scroll qua ngưỡng)Viewport sau khi scroll qua threshold