Skocz do zawartości

Zdjęcie
- - - - -

DIV na całą wysokość rodzica.


15 odpowiedzi w tym temacie
  • Zaloguj się, aby dodać odpowiedź
WebRapko

    Użytkownik

  • 97 postów
    • Czas spędzony online: 12m
-12
Słaba
  • LocationMalopolska

Napisano 19 lipca 2014 - 00:01

#1
Witam. Czy mogę poprosić o podanie jakiegoś "tricku" w CSS na rozciągnięcie diva na całą szerokość rodzica?(rodzic nie ma stałej szerokości)
  • 0

writen

    Stary wyjadacz

  • 458 postów
    • Czas spędzony online: 29d 22h 59m 44s
133
Znakomita!

Napisano 19 lipca 2014 - 00:33

#2
Zdecyduj sie czy chodzi o wysokosc czy szerokosc. Bo temat mowi co innego a tresc posta co innego.

Jesli chodzi o szerokosc to sprawa jest prosta. Div automatycznie sie rozciaga. A jesli nie to wystarczy ustawic szerokosc na 100%
Nie mam pojecia czy z wysokoscia da sie identycznie.

Wysłane z mojego LG-E400
  • 1

logo-green-dark.png


unbreak

    WT Elite

  • 1 937 postów
    • Czas spędzony online: 27d 8h 43m 36s
506
Znakomita!
  • Location/home/unbreak

Napisano 21 lipca 2014 - 08:00

#3

Jeżeli ustawisz div-owi szerokość 100% to pamiętaj że nie może mieć paddingu, a jeżeli ma to musisz ustawić mu 

box-sizing: border-box;

Jeżeli chodzi o wysokość to już więcej zabawy jest.


Użytkownik unbreak edytował ten post 21 lipca 2014 - 08:01

  • 1

webDeveloper


wolfdz

    Stary wyjadacz

  • PipPipPip
  • 252 postów
    • Czas spędzony online: 10d 19m 41s
14
Dobra
  • LocationKraśnik

Napisano 21 lipca 2014 - 14:10

#4

A można prosić tą zabawę z wysokością? Bo tytuł mówi właśnie o wysokości i mi by się to przydało ;D

Niestety czasem i z prostymi sprawami sobie nie radzę ;)


  • 0

Michał

    Stary wyjadacz

  • 301 postów
    • Czas spędzony online: 16d 7h 11m 3s
95
Znakomita!

Napisano 21 lipca 2014 - 14:18

#5

Dajesz temu divowi pseudoklasę :after i wklepujesz taki mniej więcej kod:

twój_block:after {
	content: ' ';
	display: block;
	clear: both;
}

Czasami sam clear: both; wystarcza, o ile miałeś ustawiony float.

Nic trudnego  :).


  • 0

wolfdz

    Stary wyjadacz

  • PipPipPip
  • 252 postów
    • Czas spędzony online: 10d 19m 41s
14
Dobra
  • LocationKraśnik

Napisano 21 lipca 2014 - 14:22

#6

Dajesz temu divowi pseudoklasę :after i wklepujesz taki mniej więcej kod:

twój_block:after {
	content: ' ';
	display: block;
	clear: both;
}

Czasami sam clear: both; wystarcza, o ile miałeś ustawiony float.

Nic trudnego  :).

 

Jednak jest coś trudnego bo nie działa..

Chodzi o to, że chce nadać elementowi aside wysokość 100% do containera (rodzica) oraz aside posiada wartość float:left i określoną szerokość, zaś rodzić posiada overflow:hidden

Dodanie :after do aside powoduje, że dla samego aside style nie działają przez co szerokość zamiast 200px wynosi 100% containera, a tego raczej nie chce.


  • 0

Michał

    Stary wyjadacz

  • 301 postów
    • Czas spędzony online: 16d 7h 11m 3s
95
Znakomita!

Napisano 21 lipca 2014 - 14:37

#7

Chyba robisz to źle- nie zmieniaj aside na aside:after, tylko utwórz nowy selektor, i w nim wklep ww. kod.

Jeżeli dalej nie działa daj jakieś demo- będzie o wiele łatwiej ogarnąć o co chodzi.


  • 0

wolfdz

    Stary wyjadacz

  • PipPipPip
  • 252 postów
    • Czas spędzony online: 10d 19m 41s
14
Dobra
  • LocationKraśnik

Napisano 21 lipca 2014 - 14:42

#8

Ale to ma tak wyglądać:

<aside>
     <div id="blok">
     </div>
     <div class="widget">
     </div>
     <div class="widget">
     </div>
</aside>

czy może:

<aside>
     <div id="blok">
         <div class="widget">
         </div>
         <div class="widget">
         </div>
     </div>
</aside> 

W obu przypadkach blok odpowiada temu twojemu twój_blok

Bo wiele razy spotkałem się z tą pierwszą wersją i nie wiem czy o to właśnie Ci chodzi.


  • 0

Michał

    Stary wyjadacz

  • 301 postów
    • Czas spędzony online: 16d 7h 11m 3s
95
Znakomita!

Napisano 21 lipca 2014 - 15:12

#9

Daj jakiekolwiek demo, będzie o wiele łatwiej się dopasować- nie wiadomo, czy tworzysz "2 column layout", czy może jedną kolumnę?
 
Hmm- a może najciemniej pod latarnią :) : http://jsfiddle.net/2NZJ5/


  • 0

wolfdz

    Stary wyjadacz

  • PipPipPip
  • 252 postów
    • Czas spędzony online: 10d 19m 41s
14
Dobra
  • LocationKraśnik

Napisano 21 lipca 2014 - 15:21

#10

Demo podać nie podam, ponieważ stronę "tworze" z poziomu PC i dopiero szczegóły będę dopieszczał na serwerze www.

Otóż szkielet strony tak mniej więcej wygląda i są to dwie kolumny:

<html>
<head>
</head>
<body>
<div id="wrapper">
    <header id="header">
    </header>
    <div id="container">
        <section id="content">
        </section>
        <aside id="sidebar">
        </aside>
    </div>
    <footer id="footer">
    </footer>
</div>
</body>
</html>

No i chce nadać wysokość dla aside względem rodzica container. Gdyż nie wiem w której kolumnie będzie zwykle więcej tekstu więc nie chce tego robić względem kolumny obok tylko całego containera.


  • 0

Michał

    Stary wyjadacz

  • 301 postów
    • Czas spędzony online: 16d 7h 11m 3s
95
Znakomita!

Napisano 21 lipca 2014 - 15:28

#11

W takim razie tu masz pierwszy lepszy tutorial "2 column layout":

http://www.456bereas...sslayout/2-col/

 

A nie możesz wkleić kawałka kodu z aktualnym ostylowaniem tej tajnej strony do jakiegoś dema?

Inaczej ciężko jest Ci pomóc.


  • 0

wolfdz

    Stary wyjadacz

  • PipPipPip
  • 252 postów
    • Czas spędzony online: 10d 19m 41s
14
Dobra
  • LocationKraśnik

Napisano 21 lipca 2014 - 16:09

#12

No masz mnie. Jednak prościej bedzie jeżeli dam demo mojej super tajnej stronki ( ^_^ )

Takie tam sobie demo

 

aside ma nadany border-left i dlatego chce aby to było na cała wysokość containera.


  • 0

Michał

    Stary wyjadacz

  • 301 postów
    • Czas spędzony online: 16d 7h 11m 3s
95
Znakomita!

Napisano 21 lipca 2014 - 16:18

#13

Echh- na co tyle kombinować?
Wywal ten border-left z <aside>, i ustaw taki sam border-right dla #content ;).


  • 0

wolfdz

    Stary wyjadacz

  • PipPipPip
  • 252 postów
    • Czas spędzony online: 10d 19m 41s
14
Dobra
  • LocationKraśnik

Napisano 21 lipca 2014 - 16:24

#14

No właśnie, że tak nie może być.

Bo jeżeli aside będzie miało więcej treści niż content to będzie widać do połowy ten border, a ja chce aby był na całą wysokość containera niezależnie od tego, co ma więcej treści. Ponoć da się jquery to załatwić.


  • 0

Michał

    Stary wyjadacz

  • 301 postów
    • Czas spędzony online: 16d 7h 11m 3s
95
Znakomita!

Napisano 21 lipca 2014 - 17:12

#15
Źle napisałeś ten kod.
Z nudów poprawiłem Ci go. :D łap:
 
Spoiler

  • 1

unbreak

    WT Elite

  • 1 937 postów
    • Czas spędzony online: 27d 8h 43m 36s
506
Znakomita!
  • Location/home/unbreak

Napisano 22 lipca 2014 - 07:58

#16

Równie dobrze możesz containerowi dać background w którym byłby ten border i po sprawie :D


  • 0

webDeveloper






Podone tematy Collapse

  Temat Forum Autor Podsumowanie Ostatni post

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych