Como fazer 3 pontos verticais usando CSS?

quero ter 3 pontos na minha página para, por exemplo, activar ou desactivar a visualização de um menu de contexto. Como posso conseguir isso usando CSS?

3-dots toggle animation gif

 8
Author: daviestar, 2015-05-15

6 answers

Usando um char unicode

.test:after {
  content: '\2807';
  font-size: 100px;
  }
<div class="test"></div>

Usando a propriedade de fundo

div {
    width: 100px;
    height: 300px;
    background-image: radial-gradient(circle at center, black 10px, transparent 10px);
    background-size: 100px 100px;
}
<div></div>

Sombra

div {
  width: 30px;
  height: 30px;
  border-radius: 50%;
    background-color: black;
  box-shadow: 0px 40px 0px black, 0px 80px 0px black;
}
<div></div>

Pseudo-elementos

div {
  position: relative;
  width: 20px;
  height: 20px;
  background-color: black;
  border-radius: 50%;
}

div:before, div:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0px;
  background-color: inherit;
  border-radius: inherit;
  }

div:before {
  top: 40px;
  }


div:after {
  top: 80px;
}
<div></div>
 47
Author: vals, 2015-05-15 20:22:25

Tente este código-fonte completo para o menu 3 pontos:

Índice.html

<!DOCTYPE html>
    <html>
        <head>
            <title>Three Dot Menu</title>

            <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>

            <style>
                *{margin: 0;padding:0px}

                .header{
                    width: 100%;
                    background-color: #0d77b6 !important;
                    height: 60px;
                }

                .showLeft{
                    background-color: #0d77b6 !important;
                    border:1px solid #0d77b6 !important;
                    text-shadow: none !important;
                    color:#fff !important;
                    padding:10px;
                }

                .icons li {
                    background: none repeat scroll 0 0 #fff;
                    height: 7px;
                    width: 7px;
                    line-height: 0;
                    list-style: none outside none;
                    margin-right: 15px;
                    margin-top: 3px;
                    vertical-align: top;
                    border-radius:50%;
                    pointer-events: none;
                }

                .btn-left {
                    left: 0.4em;
                }

                .btn-right {
                    right: 0.4em;
                }

                .btn-left, .btn-right {
                    position: absolute;
                    top: 0.24em;
                }

                .dropbtn {
                    background-color: #4CAF50;
                    position: fixed;
                    color: white;
                    font-size: 16px;
                    border: none;
                    cursor: pointer;
                }

                .dropbtn:hover, .dropbtn:focus {
                    background-color: #3e8e41;
                }

                .dropdown {
                    position: absolute;
                    display: inline-block;
                    right: 0.4em;
                }

                .dropdown-content {
                    display: none;
                    position: relative;
                    margin-top: 60px;
                    background-color: #f9f9f9;
                    min-width: 160px;
                    overflow: auto;
                    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
                    z-index: 1;
                }

                .dropdown-content a {
                    color: black;
                    padding: 12px 16px;
                    text-decoration: none;
                    display: block;
                }

                .dropdown a:hover {background-color: #f1f1f1}

                .show {display:block;}

            </style>
            <script>
                function changeLanguage(language) {
                    var element = document.getElementById("url");
                    element.value = language;
                    element.innerHTML = language;
                }

                function showDropdown() {
                    document.getElementById("myDropdown").classList.toggle("show");
                }

                // Close the dropdown if the user clicks outside of it
                window.onclick = function(event) {
                    if (!event.target.matches('.dropbtn')) {
                        var dropdowns = document.getElementsByClassName("dropdown-content");
                        var i;
                        for (i = 0; i < dropdowns.length; i++) {
                            var openDropdown = dropdowns[i];
                            if (openDropdown.classList.contains('show')) {
                                openDropdown.classList.remove('show');
                            }
                        }
                    }
                }
            </script>
        </head>
        <body>
            <div class="header">

                <!-- three dot menu -->
                <div class="dropdown">
                    <!-- three dots -->
                    <ul class="dropbtn icons btn-right showLeft" onclick="showDropdown()">
                        <li></li>
                        <li></li>
                        <li></li>
                    </ul>
                    <!-- menu -->
                    <div id="myDropdown" class="dropdown-content">
                        <a href="#home">Home</a>
                        <a href="#about">About</a>
                        <a href="#contact">Contact</a>
                    </div>
                </div>

            </div>
        </body>
    </html>
 9
Author: Ashwin, 2017-03-06 11:22:26

Se está a usar a fonte-incrível, é tão fácil como incluir o estilo {[[0]}. Mais documentação é encontrada aqui: http://fontawesome.io/icon/ellipsis-v/.

 3
Author: Donato, 2016-06-23 20:47:39

Você não precisa de css( a menos que esteja especificamente a estruturar o seu html de forma diferente), a ul html funciona assim na caixa

Por exemplo:

<ul>
  <li>Item 1</li>
  <li>Item 2</li>
</ul>
 0
Author: ajmajmajma, 2015-05-15 13:03:46

HTML

<div class="dot"></div>

Css:

.dot{
    width: 10px;
    height: 10px;
    background: red;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
}
 0
Author: vas, 2015-05-15 13:03:48
  1. Com fontawesome.CSS
    <i class='fa fa-ellipsis-v'></i>
    
  2. Com Glifícons

    <span class="glyphicons glyphicons-option-vertical"></span>
    
  3. Com css

    .textSpan:after {
     content: '\2807';
     font-size: 3em;
     color: #2e2e2e
    }
    
 0
Author: qammar feroz, 2018-05-02 09:15:35