본문 바로가기

CSS

Bootstrap Popover 디자인 및 동작

예제1)

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Step06_Popover.html</title>
    <link rel="stylesheet" href="css/bootstrap.css">
    <script src="js/bootstrap.bundle.js"></script>
</head>
<body>
    <div class="container">
        <h1>Popover 테스트</h1>
        <button type="button" class="btn btn-lg btn-danger"
        data-bs-toggle="popover"
        data-bs-title="Popover title"
        data-bs-content="And here's some amazing content. It's very engaging. Right?">Click to toggle popover</button>

        <button type="button" class="btn btn-lg btn-danger"
        data-bs-toggle="popover"
        data-bs-title="Popover title"
        data-bs-content="And here's some amazing content. It's very engaging. Right?">Click to toggle popover</button>

        <button type="button" class="btn btn-lg btn-danger"
        data-bs-toggle="popover"
        data-bs-title="Popover title"
        data-bs-content="And here's some amazing content. It's very engaging. Right?">Click to toggle popover</button>
       
    </div>
    <script>
        // data-bs-toggle 속성의 value 가 popover 인 모든 요소의 참조값을 배열에 담아오기
        const popoverTriggerList = document.querySelectorAll('[data-bs-toggle="popover"]');
        // popover 가 동작하기 위한 초기화 작업 하기
        const popoverList = [...popoverTriggerList].map(popoverTriggerEl => new bootstrap.Popover(popoverTriggerEl))

    </script>
</body>
</html>

Popover 테스트 페이지 이다.

 

해당 페이지에서 Click to toggle popover 버튼을 셋중 아무거나를 눌러도 오른쪽에 data-bs-content 에 작성한 내용이 나타난다.

 

오른쪽 버튼 클릭
중앙 버튼 클릭
왼쪽 버튼 클릭

 

 

 

예제2)

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Step06_Popover2.html</title>
    <link rel="stylesheet" href="css/bootstrap.css">
    <script src="js/bootstrap.bundle.js"></script>
</head>
<body>
    <div class="container" style="padding: 200px">
        <h1>Popover 테스트</h1>
        <button id="one" type="button" class="btn btn-lg btn-danger"
        data-bs-toggle="popover"
        data-bs-title="Popover title"
        data-bs-content="And here's some amazing content. It's very engaging. Right?">Click to toggle popover</button>

        <button id="two" type="button" class="btn btn-lg btn-danger"
        data-bs-toggle="popover"
        data-bs-title="Popover title"
        data-bs-content="And here's some amazing content. It's very engaging. Right?">Click to toggle popover</button>

        <button id="three" type="button" class="btn btn-lg btn-danger"
        data-bs-toggle="popover"
        data-bs-title="Popover title"
        data-bs-content="And here's some amazing content. It's very engaging. Right?">Click to toggle popover</button>
       
    </div>
    <script>
        // 첫번째 버튼의 popover 초기화 하기
        const one = document.querySelector("#one");
        new bootstrap.Popover(one, {placement:"top"});
       
        const two = document.querySelector("#two");
        new bootstrap.Popover(two, {placement:"bottom"});

        new bootstrap.Popover(document.querySelector("#three"), {
            placement:"right",
            trigger:"hover focus"
        });

    </script>
</body>
</html>

 

위 버튼은 왼쪽에 있는 버튼은 팝업이 위로 나타나게

중앙에 있는 버튼은 팝업이 아래로 나타나게

오른쪽에 있는 버튼은 팝업이 오른쪽으로 나타나게 설정한 것이다.

 

 

특이사항으로 맨 오른쪽에 있는 버튼은

trigger:"hover focus"

속성을 부여했기때문에 hover, focus 이벤트가 일어나면 팝업이 표시된다.

'CSS' 카테고리의 다른 글

Transition (2)  (0) 2023.07.11
Transition (1)  (1) 2023.07.11
Bootstrap Dropdown 디자인 및 동작  (0) 2023.06.12
Bootstrap Alert 디자인 및 동작  (0) 2023.06.09
Bootstrap Form 디자인(2)  (0) 2023.06.08