code

CSS3 Flex : 자식을 오른쪽으로 당기기

codestyles 2020. 10. 18. 17:57
반응형

CSS3 Flex : 자식을 오른쪽으로 당기기


여기에 내가있는 것이 Fiddle

ul {
  display: flex;
  justify-content: flex-start;
  flex-direction: row;
  align-items: center;
  width: 100%;
  height: 100px;
  background: #333;
  padding: 15px;
}

ul li {
  padding: 15px;
  margin: 5px;
  background: #efefef;
  border: 1px solid #ccc;
  display: inline-block;
  list-style: none;
}

#item-1 {
  height: 50px;
}

#item-2 {
  height: 70px;
}
<ul>
  <li id="item-1">Home</li>
  <li id="item-2">Menu</li>
  <li>More</li>
  <li>Stuff</li>
  <li>Settings</li>
</ul>

다른 모든 항목은 그대로 유지하면서 flex-box 내부의 마지막 항목을 오른쪽 (제 바이올린의 "설정") 으로 가져 오길 원합니다 . "설정"항목은 수직 및 모든 항목의 중앙에 있어야합니다.

align-self: flex-end 항목을 아래쪽으로 밉니다 (오른쪽에 표시합니다).

항목의 높이가 가변적이고 항상 수직으로 중앙에 위치해야하므로 플렉스 박스를 사용하는 솔루션을 선호합니다.

이것을 달성하는 가장 깨끗한 방법은 무엇입니까?

당신의 도움을 주셔서 감사합니다!


간단한 수정, 자동 조정 여백 사용 :

ul li:last-child {
    margin-left: auto;
}

width: 100%요소가 가시 영역 내에 유지되도록 사용하지 않을 수도 있습니다 .

ul {
    display: flex;
    justify-content: flex-start;
    flex-direction: row;
    align-items: center;
    /* width: 100%; */
    height: 100px;
    background: #333;
    padding: 15px;
}

http://jsfiddle.net/dwLHE/

참조 https://www.w3.org/TR/css-flexbox-1/#auto-margins

참고URL : https://stackoverflow.com/questions/19564287/css3-flex-pull-child-to-the-right

반응형