Jak narysować przerywaną linię za pomocą CSS?

98

Jak narysować przerywaną linię za pomocą CSS?

Kaveh
źródło

Odpowiedzi:

131

Na przykład:

hr {
  border:none;
  border-top:1px dotted #f00;
  color:#fff;
  background-color:#fff;
  height:1px;
  width:50%;
}

Zobacz także Styl za <hr>pomocą CSS .

Sinan Ünür
źródło
3
Ponieważ IE 6 (nie pamiętam dla IE7) nie rozumie stylu "kropkowanego", możesz powiedzieć mu, żeby zamiast tego używał "przerywanego", używając oczywiście warunkowych komentarzy, aby celować w IE6 i żadną inną przeglądarkę.
FelipeAls
wysokość: 0px; działa w przeglądarce Chrome, ponieważ krawędzie są oddzielone od wysokości.
Ben
Powinieneś zrozumieć, że przerywane linie mogą wyglądać inaczej w wielu przeglądarkach. Jest to bardziej związane z liniami przerywanymi.
Rantiev
18
<style>
    .dotted {border: 1px dotted #ff0000; border-style: none none dotted; color: #fff; background-color: #fff; }
</style>
<hr class='dotted' />
rahul
źródło
16

Korzystanie z HTML:

<div class="horizontal_dotted_line"></div>

oraz w styles.css:

.horizontal_dotted_line{
  border-bottom: 1px dotted [color];
  width: [put your width here]px;
} 
Brendan Long
źródło
13

Przyjęta odpowiedź zawiera wiele błędów, które nie są już wymagane w nowoczesnych przeglądarkach. Osobiście przetestowałem następujący CSS we wszystkich przeglądarkach, począwszy od IE8, i działa on doskonale.

 hr {
    border: none;
    border-top: 1px dotted black;
  }

border: nonemusi być pierwsza, aby usunąć wszystkie domyślne style obramowań, które przeglądarki stosują do hrtagów.

coredumperror
źródło
7

ta linia powinna działać dla Ciebie:

<hr style="border-top: 2px dotted black"/>

źródło
4
.myclass {
    border-bottom: thin red dotted;
}
Graeme Perrow
źródło
To linia przerywana, a nie przerywana.
rahul
Naprawiony. Mieszałem kropkowane i przerywane. Poza tym moja odpowiedź dałaby ci całą granicę zamiast jednej linii.
Graeme Perrow
3

Wypróbowałem wszystkie rozwiązania tutaj i żadne nie dało czystej linii 1px. Aby to osiągnąć, wykonaj następujące czynności:

border: none; border-top: 1px dotted #000;

Alternatywnie:

 border-top: 1px dotted #000; border-right: none; border-bottom: none; border-left: none;
ᴍᴀᴛᴛ ʙᴀᴋᴇʀ
źródło
3

użyj w ten sposób:

<hr style="border-bottom:dotted" />

źródło
3

Aby to zrobić, wystarczy dodać border-toplub border-bottomdo swojego <hr/>tagu w następujący sposób:

<hr style="border-top: 2px dotted navy" />

z dowolnym rodzajem lub kolorem linii


źródło
3

Dodaj następujący atrybut do elementu, który chcesz mieć przerywaną linię.

style="border-bottom: 1px dotted #ff0000;"
Sarfraz
źródło
2

Użycie hrutworzyło dla mnie dwie linie, jedną pełną i jedną kropkowaną.

Okazało się, że to działa całkiem dobrze:

div {
border-top: 1px dotted #cccccc;
color: #ffffff;
background-color: #ffffff;
height: 1px;
width: 95%;
}

Dodatkowo, ponieważ możesz ustawić szerokość jako procent, zawsze będzie miała trochę miejsca po obu stronach (nawet jeśli zmienisz rozmiar okna).

lachlanjc
źródło
1

Spróbuj przerywana ...

<hr style="border-top: 2px dashed black;color:transparent;"/>
Vibhaas Srivastava
źródło
1

Zapisany wiersz po elemencie:

http://jsfiddle.net/korigan/ubtkc17e/

HTML

<h2 class="dotted-line">Lorem ipsum</h2>

CSS

.dotted-line {
  white-space: nowrap;
  position: relative;
  overflow: hidden;
}
.dotted-line:after {
  content: "..........................................................................................................";
  letter-spacing: 6px;
  font-size: 30px;
  color: #9cbfdb;
  display: inline-block;
  vertical-align: 3px;
  padding-left: 10px;
}
Steven Mouret
źródło