Czy można kierować na <br/>
znacznik końca wiersza za pomocą CSS?
Chciałbym mieć linię przerywaną o wielkości 1 piksela za każdym razem, gdy występuje koniec linii. Dostosowuję witrynę za pomocą własnego CSS i nie mogę zmienić zestawu HTML, w przeciwnym razie użyłbym innego sposobu.
Myślę, że to nie jest możliwe, ale może jest sposób, o którym ktoś wie.
html
css
line-breaks
dc3
źródło
źródło
Odpowiedzi:
BR
generuje znak końca wiersza i jest to tylko koniec wiersza. Ponieważ ten element nie ma treści, istnieje tylko kilka stylów, które warto na nim zastosować, na przykładclear
lubposition
. Możesz ustawićBR
granicę, ale jej nie zobaczysz, ponieważ nie ma ona wymiaru wizualnego.Jeśli chcesz wizualnie oddzielić dwa zdania, prawdopodobnie zechcesz użyć poziomej linijki, która jest przeznaczona do tego celu. Ponieważ nie możesz zmienić znaczników, obawiam się, że używając tylko CSS, nie możesz tego osiągnąć.
Wygląda na to, że był już omawiany na innych forach. Wyciąg z Re: Ustawianie wysokości elementu BR za pomocą CSS :
Znalazłem również wyjaśnienie w specyfikacji CSS 1 (żadna specyfikacja wyższego poziomu nie wspomina o tym):
Testy Granta Wagnera pokazują, że nie ma sposobu na stylizację,
BR
jak w przypadku innych elementów. Istnieje również strona internetowa, na której możesz przetestować wyniki w swojej przeglądarce .Aktualizacja
pelms przeprowadził dalsze badania i wskazał, że IE8 (na Win7) i Chrome 2 / Safari 4b pozwalają
BR
nieco nadać styl . I rzeczywiście, sprawdziłem stronę demonstracyjną IE z silnika renderującego IE8 pomniejszane jest , i to działało.Aktualizacja 2 c69 przeprowadziła dalsze badania i okazuje się, że możesz stylizować znacznik na
br
dość mocno (choć nie w różnych przeglądarkach), ale nie wpłynie to na sam podział linii, ponieważ wydaje się, że należy on do kontenera nadrzędnego.źródło
Spróbuj wykonać następujące czynności, złożyłem to razem za pomocą Aktualizacji 2 z innej odpowiedzi z dużą liczbą głosów i zadziałało idealnie dla mnie:
źródło
Jest jeden dobry powód, dla którego warto nadać styl
<br>
tagowi.Kiedy jest to część kodu, którego nie chcesz (lub nie możesz) zmienić i chcesz, aby ten konkretny
<br>
nie był wyświetlany.Może zaoszczędzić dużo czasu, a czasem nawet dzień.
źródło
Z korzyścią dla przyszłych gości, którzy mogli przegapić moje komentarze:
nie działa.
Został przetestowany w IE 6, 7 i 8, Firefox 2, 3 i 3.5B4, Safari 3 i 4 dla Windows, Opera 9.6 i 10 (alfa) oraz Google Chrome (wersja 2) i nie działał w żadnym z im. Jeśli w przyszłości ktoś znajdzie przeglądarkę obsługującą obramowanie
<br>
elementu, prosimy o zaktualizowanie tej listy.Zwróć też uwagę, że próbowałem wielu innych rzeczy:
Spośród nich, poniższe działa w Operze 9.6 i 10 (alfa) (dzięki porneL!):
Niezbyt przydatne, gdy jest obsługiwane tylko w jednej przeglądarce, ale zawsze interesuje mnie, jak różne przeglądarki implementują specyfikację.
źródło
content:""; display:block
do drugiej reguły.Wiem, że nie możesz edytować kodu HTML, ale jeśli możesz zmodyfikować CSS, czy możesz dodać javascript?
jeśli tak, możesz dołączyć jquery, możesz to zrobić
źródło
renderuje się jak poniżej w IE8 ... jednak nie jest zbyt często używany w jednej przeglądarce.
(Uwaga: używam IE 8.0.7100 (na Win7 RC), jeśli to robi jakąkolwiek różnicę)
Również,
lub,
br { content: "" }
daje przerywaną linię w Chrome 2 / Safari 4b, ale traci podział linii, co (chyba że ktoś może wymyślić sposób na ponowne wprowadzenie tego) sprawia, że jest mniej niż bezużyteczny.
np
Test IE8 , Chrome / test Safari i innym
źródło
BR
. Dzięki, zaktualizowałem odpowiedź o wyniki testów.Moje własne testy jednoznacznie pokazują, że
br
tagi nie lubią być kierowane do CSS.Ale jeśli możesz dodać styl, prawdopodobnie możesz również dodać tag script do nagłówka strony? Link do zewnętrznego,
.js
który robi coś takiego:Krótko mówiąc, nie jest to optymalne, ale oto moje rozwiązanie.
źródło
wydaje się, że rozwiązuje to problem:
źródło
BR jest elementem wbudowanym, a nie blokowym.
Potrzebujesz więc:
W przeciwnym razie przeglądarki, które są trochę bardziej wybredne w takich kwestiach, odmówią stosowania obramowań do elementów BR, ponieważ elementy wbudowane nie mają obramowań, dopełnienia ani marginesów.
źródło
ZAKTUALIZOWANO 13.09.2019:
Celem takiego stylu
<br>
znacznika jest utworzenie „większego” końca wiersza (tj. Z odrobiną dodatkowego odstępu między wierszami).Klasa „oldbig” (poniżej) została przetestowana i działała poprawnie w Chrome 66.0.3359.181, Firefox Quantum 60.0.2, Edge 42.17134.1.0 i IE 11.48.17134.0. Niestety zepsuło się w Chrome w wersji 76 i jego pochodnych (około sierpnia 2019). Objawem jest to, że dodatkowa przestrzeń między wierszami nie jest już wyświetlana.
Klasa „newbig” została przetestowana i działa poprawnie w aktualnych wersjach przeglądarek Chrome (76.0.3809.132), Opera, Firefox, Edge, IE, Brave i Palemoon:
Oto demo:
Oto wynik wyświetlony w Chrome v.76:
źródło
To zadziała, ale tylko w IE. Przetestowałem to w IE8.
źródło
Umieściłem
<br>
tag w<span>
tagu i mogłem użyćdisplay:none;
go<span>
do kontrolowania, kiedy nie używać<br>
tagu za pomocą zapytań o media.źródło
<br>
bezpośrednio w to, zamiast zawijać go w rozpiętość?stare pytanie, ale jest to całkiem zgrabna i czysta poprawka, może przydać się osobom, które wciąż zastanawiają się, czy to możliwe :):
dzięki tej poprawce możesz również usuwać BR ze stron internetowych (wystarczy ustawić szerokość na 0px)
źródło
Dlaczego po prostu nie użyć tagu HR? Jest zrobiony dokładnie tak, jak chcesz. Coś jak próba zrobienia widelca do jedzenia zupy, kiedy na stole leży łyżka tuż przed tobą.
źródło