[datetimepicker] CSS에서 달력 표시 위치 충돌 해결
매혹적인 일
bootstrap의datetimepicker를 이용하여 달력을 표시할 수 있지만 브라우저를 세로로 줄이면 위쪽 (제목) 에 표시되어 이 문제를 해결하지 못하고 하루를 낭비합니다.
참조 블로그: https://github.com/NetCommons3/NetCommons3/issues/200
이루고 싶은 일 [시위]
브라우저의 세로 폭이 충분하지 않으면 과도하게 위로 이동합니다
아래의 Gif처럼 bottom이 부족하더라도 달력의 위치를 조정해야 합니다.
시도해 본 일
bottom을 추가하여 위에 표시할 수 없게 합니다
브라우저를 세로로 줄이면bottom이 부족합니다. 달력이 위에 표시됩니다.
여기서 중요한 것은 달력으로 구성된bottom은 달력 입력 형식의 부요소의 높이에 의해 결정된다.
부요소의 높이를
height: 〇〇px
만큼 높이면 된다는 것이다.이렇게 하면 달력 이하의bottom이 넓어져서 원래는 위에 나타나지 않고 모두 아래에 나타난다.
다만 주의점으로서 물론 높이가 높아지면 스크롤 범위도 늘어나 다른 해결책을 고민했다.
부모 요소에 relative 적용
드디어 이거야.
부모 요소에relative를 설정하여datetimepicker의 이동 범위를 제한하는 방법입니다.
수정 전
test.html
<body>
<div id="container">
<input type='text' class="datetimechecker">
</div>
</body>
수정 후test.html
<body>
<div id="container">
<div id="carendar-position"> <!--追加 -->
<input type='text_field' class="form-control">
</div>
</div>
</body>
test.css/* 追加 */
#carendear-positon {
position: relative;
}
따라서 지정한 부모 요소를 기점으로 달력의 위치를 제한할 수 있다.반대로, 눈썹의position을relative로 설정하면, 눈썹을 기점으로 달력을 표시합니다.
이번에는 inputform을 기점으로 달력을 표시하고 싶어서 바로 위에 부모 요소를 만들고 relative를 응용하여 inputform을 기점으로 표시 위치를 결정했습니다.
총결산
한동안 대원datetimepicker의 css를 만지작거렸지만 조금만 만지작거리면 붕괴될 때가 많아요. 너무 복잡해서 전혀 몰라요...
그래서 데이터 패키지를 졸렬하게 만지작거리는 것보다
① 달력을 표시할 곳에 부모 요소 추가
② 상위 요소에 relative 설정
이런 절차는 가장 간단한 방법이다.
Reference
이 문제에 관하여([datetimepicker] CSS에서 달력 표시 위치 충돌 해결), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ngron/items/6ae7e4ca77677b160574텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)