Published on

Frontend tips

Authors
  • avatar
    Name
    Loc Truong
    Twitter

Prevent layout shifting when adding a border on hover

Outline Method

.your-element {
  border: 1px solid transparent; /* Transparent border by default */
  outline: 1px solid transparent; /* Transparent outline */
  transition: all 0.3s ease;
}

.your-element:hover {
  border-color: #333;
  outline-color: #333;
}

Box-sizing Method

.your-element {
  box-sizing: border-box;
  border: 1px solid transparent;
  transition: all 0.3s ease;
}

.your-element:hover {
  border-color: #333;
}

Padding Compensation

.your-element {
  border: 1px solid transparent;
  padding: 10px;
  transition: all 0.3s ease;
}

.your-element:hover {
  border-color: #333;
}