Jak złapać whitespace w CSS?

Jak złapać whitespace w CSS?
DC
  • Rejestracja:ponad 6 lat
  • Ostatnio:2 dni
  • Postów:325
0
Kopiuj
  <div class="content">
    <% if (info || continuedInfo ) { %>
      <span class="info"><%= info %></span>
      <span class="counter">3</span>
      <span><%= continuedInfo %></span>
    <% } %>
  </div>

info i continuedInfo to 2x textarea i jeśli się cos tam wpisze to wyswietlane jest to uzytkownikowi. Problem jest taki, ze jesli osoba ktora wypełnia textarea zrobi enter przy info na końcu zdania to nie jest wyrownane rownolegle tylko jest spacja przez nbsp i wygląda to tak
https://zapodaj.net/f9648c037bccb.png.html
tak to wyglada na stronie:
https://zapodaj.net/f8fb8a67490c2.png.html?fbclid=IwAR309pjL1LgRBMox4RCrlJ7N6fy6R4CDU5s4-iSAychwmxBdJi58xKW0ZyA

Probowałem to złapac w css ale nie działa :P

Kopiuj
.info:contains('&nbsp;') {
  display: none;
 }
edytowany 3x, ostatnio: Riddle
SP
Szalony Programista2
co to za system templatów masz? to server side rendering?
Xarviel
Wygląda jak EJS z node.js https://ejs.co/ ale nie mam pewności
katakrowa
  • Rejestracja:ponad 10 lat
  • Ostatnio:około 2 lata
  • Lokalizacja:Chorzów
  • Postów:1670
1
dcielak napisał(a):

Probowałem to złapac w css ale nie działa :P

Kopiuj
.info:contains('&nbsp;') {
  display: none;
 }

A co to za twór? To nie jest CSS!
W CSS nie ma pseudo-klasy contains.


Projektowanie i programowanie. Hobbystycznie elektronika i audio oszołom.
DC
no wiem, domyslilem się jak nie zadziałalo
Xarviel
  • Rejestracja:ponad 3 lata
  • Ostatnio:dzień
  • Postów:847
3

Musiałbyś skasować &nbsp;, przykładowo przez replace.

Kopiuj
const content = `
  lorem ipsum
  <br>
  &nbsp;
`;

const newContent = content.replace(/(&nbsp;)+/gm, ' ');

console.log(newContent);

EDIT:

Jeśli chcesz zrobić to jedynie w CSS to możesz spróbować

https://stackoverflow.com/a/66646082
https://gist.github.com/jonathanhefner/3229878
https://stackoverflow.com/a/25133863

ale nie ma w 100% pewnego sposobu żeby to zrobić i może nie działać

edytowany 4x, ostatnio: Xarviel
DC
wolałbym uniknąć jsa, czy można jakos poczarowac w css zeby to ominąc :P ?
Xarviel
Edytowałem wpis i dodałem linki z przykładami, ale żaden z tych sposobów nie daje 100% gwarancji, że zadziała.
Riddle
Administrator
  • Rejestracja:prawie 15 lat
  • Ostatnio:około 17 godzin
  • Lokalizacja:Laska, z Polski
  • Postów:10086
3

No a nie możesz po ludzki nie renderować tych znaków których nie chcesz? Użyć np String.trimEnd() zanim wsadzisz swoje wartości w template?

Bo to co próbujesz zrobić, to wyrenderowałeś sobie tekst z enterem na końcu, który dodaje Ci &nbsp; i chcesz go teraz schować w CSS. Zamiast po prostu nie renderować go.

edytowany 1x, ostatnio: Riddle

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.