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

Jak podzielić div-a na pół

Cloud VPS
0 głosów
2,415 wizyt
pytanie zadane 18 listopada 2015 w HTML i CSS przez damianlxlx5 Obywatel (1,880 p.)

Witam

Chcę stworzyć taki pasek na zasadzie div'a, przykładowo:

Strona                                                                                     Internetowa

Przesunąłem tego całego diva o 20px w prawo i o 20px w lewo żeby nie był tak przy samej krawędzi strony.

Oraz oba te napisy przesunąłem w środku tego div'a o 10px od lewej do prawej strony.

Tak to wygląda w kodzie:

#Kolumna_1 {
		  color: white;
		  background:green;
		  border: 1px solid black;
		  height: 50px;
		  margin-top:20px;
		  margin-left:10px;
		  margin-right:10px;
		  
		  
		 
		  
		  
		  
		  
	  }
	  #Liczba1
	  {
		  padding-left:10px;
		  float:left;
		  width:50%;
		  background:green;
		  height: 50px;
		  
		  
		  
	  }
	  #liczba2
	  (
		  padding-left:10px;
		  width:473px;
		  float:left;
		  background:orange;
		  height: 50px;
		  
	  }

I chciałem żeby ten div podzielił się na pół tak jakby więc zastosowałem instrukcję width:50% w obu przypadkach.

Problem jest jednak taki że jak zrobiłem odstęp tych napisów o 10px względem tego div'a to wtedy te napisy układają się pod sobą.

Co zrobić żeby to poprawnie działało ?

7 odpowiedzi

0 głosów
odpowiedź 19 listopada 2015 przez Schizohatter Nałogowiec (39,600 p.)
wybrane 20 listopada 2015 przez damianlxlx5
 
Najlepsza
Co do pytania odnośnie marginesów - nie zrobisz tego tak, bez liczenia wymiarów. Skoro używasz wartości procentowych, to można śmiało założyć, że faktycznie wymiary obydwóch divów są nieznane. W związku z tym powinieneś użyć CSS calc():

https://developer.mozilla.org/en-US/docs/Web/CSS/calc

Czyli - margines ustawić normalnie, a następnie wyliczyć nową szerokość każdego z divów, biorąc jako wartość bazową 50% (ich szerokość) i odejmując od tego marginesy w px.
komentarz 20 listopada 2015 przez damianlxlx5 Obywatel (1,880 p.)

Czyli mam dodać tą linię w css-ie #Kolumna1, #Liczba1, #Liczba2


Calc (50% - 10 px);

Czy tak to ma wyglądać ?

 

komentarz 20 listopada 2015 przez Schizohatter Nałogowiec (39,600 p.)
Jeśli lewy+prawy margin = 10px, to tak, tak powinno wyglądać width każdego z tych dzieci.

width: calc(50% - 10px);

Wtedy każdy z nich dostaje 10px do rozdysponowania na marginesy.
komentarz 20 listopada 2015 przez damianlxlx5 Obywatel (1,880 p.)

Tak to powinno wyglądać :

#Liczba1
	  {
		  margin-left:40px;
		  padding-left:10px;
		  float:left;
		  width:50%;
		  background:green;
		  height: 50px;
		  box-sizing: border-box;
		  border: 1px solid black;
		  width: calc(50% - 50px);
		  
		  
		  
	  }
	  #liczba2
	  {
	      
		  margin-left:40px;
		  padding-left:10px;
		  width:50%;
		  float:left;
		  background:brown;
		  height: 50px;
		  box-sizing: border-box;
		  border: 1px solid black;
		  width: calc(50% - 50px);
		  
		  
	  }

 

komentarz 20 listopada 2015 przez damianlxlx5 Obywatel (1,880 p.)
Bo teraz mam większy margines po lewejj stronie niż po prawej.Dlaczego, skoro margin mam ustawiony tak samo po obu stronach ?
komentarz 20 listopada 2015 przez Schizohatter Nałogowiec (39,600 p.)

Ja w kodzie widzę tylko margin-left: 40px i żadnej wzmianki o margin-right. Dodatkowo padding to nie margin. Jeśli stosujesz box-sizing border-box (a stosujesz), to nie powinieneś go brać pod uwagę przy liczeniu width

0 głosów
odpowiedź 18 listopada 2015 przez damianlxlx5 Obywatel (1,880 p.)
Ktoś pomoże, bardzo mi zależy ?
0 głosów
odpowiedź 18 listopada 2015 przez Schizohatter Nałogowiec (39,600 p.)
Nadaj tym dzieciom własność: box-sizing: border-box; żeby szerokość nie była zależna od paddingów.

I obydwóm ustaw width: 50%; i bez marginów poziomowych. Wtedy będą ściśle do siebie przylegały.
0 głosów
odpowiedź 19 listopada 2015 przez damianlxlx5 Obywatel (1,880 p.)

Udało mi się stworzyć takiego diva'a podzielonego na pół:

I teraz pytanie jak zrobić jeszcze odstęp pomiędzy tym divem na zieloną i na czerwono.Po prostu żeby nie przelegały do siebie ?

 

komentarz 19 listopada 2015 przez Surykat Stary wyjadacz (14,780 p.)
Margines daj w CSS.
komentarz 19 listopada 2015 przez damianlxlx5 Obywatel (1,880 p.)

Dodałałem margin-left w  #Liczba1 i #Liczba2 ale to nie działa tak jak powinno.

0 głosów
odpowiedź 19 listopada 2015 przez damianlxlx5 Obywatel (1,880 p.)
Pomóżcie, bardzo was proszę.
0 głosów
odpowiedź 20 listopada 2015 przez damianlxlx5 Obywatel (1,880 p.)
Odświeżam temat
0 głosów
odpowiedź 20 listopada 2015 przez damianlxlx5 Obywatel (1,880 p.)
Okej, działa a teraz jak zorbić żeby teskt który napiszę wyświetlał się tylko w tym miejscu gdzie jest ta strona1 i strona2.

Czyli chciałbym żeby ten tekst wyświetlał się pod każdym z tych div-ów żeby strona była podzielona tak jakby na pół ale nie cała.

Podobne pytania

0 głosów
1 odpowiedź 256 wizyt
pytanie zadane 5 stycznia 2016 w HTML i CSS przez primosdace Użytkownik (730 p.)
+1 głos
2 odpowiedzi 255 wizyt
pytanie zadane 4 lipca 2015 w HTML i CSS przez Wiktor Stary wyjadacz (11,120 p.)
0 głosów
1 odpowiedź 226 wizyt
pytanie zadane 7 czerwca 2015 w HTML i CSS przez RedWoodMasterFile Nowicjusz (150 p.)

93,454 zapytań

142,449 odpowiedzi

322,718 komentarzy

62,834 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

Kursy INF.02 i INF.03
...