• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Scroll zamiast responsywności

0 głosów
829 wizyt
pytanie zadane 11 marca 2021 w HTML i CSS przez Szyszka Gaduła (3,530 p.)

Siemka, 3dni temu dostałem weny na stworzenie pseudo dziennika elektronicznego. Mam pytanie - jak mogę dokonać tego, aby zamiast responsywności tworzył się scroll? Obecnie wygląda to tak:

Lecz kiedy zmniejsze okno, wygląda to jeszcze bardziej ohydnie, niż wygląda to teraz:

Jak więc tego dokonać? Dzięki za wszystkie odpowiedzi.

1 odpowiedź

+3 głosów
odpowiedź 11 marca 2021 przez pablop76 VIP (123,640 p.)
wybrane 12 marca 2021 przez Szyszka
 
Najlepsza

Scroll to zły pomysł, powinieneś raczej zainteresować się jak się tworzy strony responsywne, jak dział nav na stronach responsywnych.

A co do pytania to odpowiedź brzmi 

overflow-x

komentarz 11 marca 2021 przez Szyszka Gaduła (3,530 p.)
Zrobiłem overflow-x: scroll, ale to nic nie daje. Dodałem to do body.
komentarz 11 marca 2021 przez pablop76 VIP (123,640 p.)
Używaj po prostu jednostek bezwzględnych a jeszcze lepiej zrób to na tabelkach. Usuń meta initial scale z head. Scroll murowany.
komentarz 11 marca 2021 przez Szyszka Gaduła (3,530 p.)
Usunąłem, ale to nadal nie działa. Może być to spowodowane tym, że zastosowałem display flex dla opcji na nav barze?
komentarz 11 marca 2021 przez pablop76 VIP (123,640 p.)
Bez kodu to trudno powiedzieć. Domyślnie flex ma nowrap, więc nie wiem.
komentarz 11 marca 2021 przez Szyszka Gaduła (3,530 p.)

Tak wygląda CSS navbaru:

@import url('https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@700&display=swap');

#navbar {
  top: 0%;
  position: sticky;
  position: -webkit-sticky;
  width: 100%;
  height: 50px;
  background-image: linear-gradient(to right, #8c27ae, #df7a0e);
  border-bottom: 3px solid #262626;
}

.nav-option-right {
  display: flex;
  float: right;
  height: 100%;
  text-align: center;
  margin-left: 20px;
  margin-right: 10px;
  padding: 10px;
  letter-spacing: 0.5px;
  font-weight: 900;
  font-size: 25px;
  font-family: 'Roboto Mono', monospace;
  text-shadow: 2px 2px 8px #00ff37;
  align-items: center;
}

  .nav-option-right:hover {
    cursor: pointer;
  }

#userFullName {
  display: flex;
  text-align: center;
  letter-spacing: 0.5px;
  align-items: center;
  background-color: red;
  width: auto;
  float: left;
  font-family: 'Roboto Mono', monospace;
  font-weight: 900;
  font-size: 25px;
  padding: 10px;
  height: 100%;
}

A tak body:

/* You can add global styles to this file, and also import other style files */

/* Provide sufficient contrast against white background */
body {
  /* Background pattern from Toptal Subtle Patterns */
  background-image: url("assets/background.png");
  margin: 0px;
  overflow-x: scroll;
}

 

komentarz 11 marca 2021 przez pablop76 VIP (123,640 p.)
Pokaż html
komentarz 12 marca 2021 przez Szyszka Gaduła (3,530 p.)
<div id="navbar">
  <div id="userFullName">{{userFullName | transformFullName}}</div>
  <div class="nav-option-right">Wyloguj</div>
  <div class="nav-option-right">Terminarz</div>
  <div class="nav-option-right">Oceny</div>
  <div class="nav-option-left"></div>
</div>

 

komentarz 12 marca 2021 przez pablop76 VIP (123,640 p.)

Linki wrzuć do pojemnika i użyj flexboxa. Nie potrzebujesz float. Linki zrób w formie listy.

komentarz 12 marca 2021 przez Szyszka Gaduła (3,530 p.)

Zrobiłem tak:

<div id="navbar">
  <nav id="nav-options">
    <div id="userFullName">{{userFullName | transformFullName}}</div>
    <div class="nav-option-right">Wyloguj</div>
    <div class="nav-option-right">Terminarz</div>
    <div class="nav-option-right">Oceny</div>
    <div class="nav-option-left"></div>
  </nav>
</div>

A css teraz wygląda tak:

@import url('https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@700&display=swap');

#navbar {
  top: 0%;
  position: sticky;
  position: -webkit-sticky;
  width: 100%;
  height: 50px;
  background-image: linear-gradient(to right, #8c27ae, #df7a0e);
  border-bottom: 3px solid #262626;
  display: flex;
  flex-wrap: nowrap;
}

.nav-option-right {
  height: 100%;
  text-align: center;
  margin-left: 20px;
  margin-right: 10px;
  padding: 10px;
  letter-spacing: 0.5px;
  font-weight: 900;
  font-size: 25px;
  font-family: 'Roboto Mono', monospace;
  text-shadow: 2px 2px 8px #00ff37;
  align-items: center;
}

  .nav-option-right:hover {
    cursor: pointer;
  }

#userFullName {
  text-align: center;
  letter-spacing: 0.5px;
  align-items: center;
  background-color: red;
  width: auto;
  font-family: 'Roboto Mono', monospace;
  font-weight: 900;
  font-size: 25px;
  padding: 10px;
  height: 100%;
}

Efekt jest taki:

komentarz 12 marca 2021 przez pablop76 VIP (123,640 p.)
<nav id="navbar">
    <div id="userFullName">{{userFullName | transformFullName}}</div>
			<ul class="navbar__list">
				<li><a href="" class="navbar__link">wyloguj</a></li>
				<li><a href="" class="navbar__link">terminarz</a></li>
				<li><a href="" class="navbar__link">oceny</a></li>
			</ul>
</nav>
body{
	margin: 0;
	padding: 0;
}
#navbar {
  top: 0%;
  position: sticky;
  position: -webkit-sticky;
  min-width: 640px;
  height: 50px;
  background-image: linear-gradient(to right, #8c27ae, #df7a0e);
  border-bottom: 3px solid #262626;
  display: flex;
	justify-content: space-between;
	align-items: center;
	color: #fff;
}
.navbar__list{
	display: flex;
	list-style: none;
}
.navbar__link{
	display: block;
	width: 100px;
	height: 50px;
	line-height: 50px;
	text-decoration: none;
	color: #fff;
}
komentarz 12 marca 2021 przez Szyszka Gaduła (3,530 p.)
Dzięki, ale teraz navbar__link nie jest wyśrodkowany w pionie. Jak to zrobić bez display:flex?
komentarz 12 marca 2021 przez pablop76 VIP (123,640 p.)
Wydaje mi się, że jest. Odpowiada za to line- height. Nie mam już dostępu do kompa.
komentarz 12 marca 2021 przez Szyszka Gaduła (3,530 p.)

No właśnie nie. Po dodaniu tła wygląda to tak:

komentarz 12 marca 2021 przez pablop76 VIP (123,640 p.)
edycja 12 marca 2021 przez pablop76
To prawdopodobnie style default, zamiast body zamień na * w css
Ja nie widzę tego problemu w kodzie który ci przesłałem.
Używaj devtools
komentarz 12 marca 2021 przez Szyszka Gaduła (3,530 p.)

Okej, mam tak:

@import url('https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@700&display=swap');



#navbar {
  top: 0%;
  position: sticky;
  position: -webkit-sticky;
  min-width: 640px;
  width: 100%;
  height: 50px;
  background-image: linear-gradient(to right, #8c27ae, #df7a0e);
  border-bottom: 3px solid #262626;
  display: flex;
  justify-content: space-between;
}

.navbar__list {
  display: flex;
  list-style: none;
  height: 100%;
  margin: 0px;
}

.navbar__link {
  display: block;
  width: auto;
  min-width: 120px;
  height: 100%;
  line-height: 47px;
  text-decoration: none;
  color: #fff;
  background-color: red;
  margin-right: 10px;
  text-align: center;
  font-weight: 900;
  font-family: 'Roboto Mono', monospace;
  font-size: 20px;
}

#userFullName {
  line-height: 47px;
  text-align: center;
  font-weight: 900;
  font-family: 'Roboto Mono', monospace;
  background-color: red;
  margin-left: 20px;
  font-size: 25px;
}

I działa, dzięki!

Podobne pytania

0 głosów
1 odpowiedź 1,179 wizyt
pytanie zadane 11 marca 2016 w HTML i CSS przez McShadow Obywatel (1,050 p.)
0 głosów
2 odpowiedzi 330 wizyt
pytanie zadane 12 września 2022 w HTML i CSS przez domelcio Użytkownik (980 p.)
0 głosów
1 odpowiedź 306 wizyt

93,742 zapytań

142,678 odpowiedzi

323,299 komentarzy

63,326 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...