Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: width:100%-200px;
Forum PHP.pl > Forum > Po stronie przeglądarki > CSS
radvanced
Mam taka zagadkę.
chcę na dole strony dać dwa elementy:
- jeden z zafixowanymi wymiarami, powiedzmy 200x200px, w lewym dolnym rogu.
- drugi obok, ma sie zaczynac od pierwszego elementu i dochodzic do konca strony bez względu na rozmiar okna.

cos w rodzaju width:100%-200px.

da sie? czy sie nie da sie?
oto jest pytanie.

Dzieki z góry
michał
elektrrrus
Da się, ale raczej tylko z ustalaniem wymiarów w js. Trzeba tam pobrać rozmiar okna, odjać te 200px i wstawić szerokość do bloku.

Chyba że tak mi przyszło do głowy, oba bloki float, drugi width 100%, a całośc zamknieta w innym ktory miałby width 100% i overflow hidden. Może zadziałać, ale ma ograniczone zastosowanie.
radvanced
Dzięki za odpowiedź

sposób z JS znam.
chciałem to zrobic czystym css

najblizsze prawdy było
<div id="zewnetrzny">
<div id="wewnetrzny"></div>
</div>

#zewnetrzny{
width:100%;
padding-left:200px;
}
#wewnetrzny{
width:100%
}

ale ta metoda wywalała mi kawałek wewnetrznego diva za prawą krawedz okna.

kombinuje z procentami i min-width ale to nie daje super rezultatów.

Wracając do JSa. Jest jeszcze sens przejmować się uzytkownikami mającymi wyłączoną obsługę JavaScriptu?
krzywy36
jest.

  1. <title>adsad</title>
  2. #pierwszy
  3. {
  4. width: 200px;
  5. height: 200px;
  6. position: fixed;
  7. bottom: 0;
  8. left: 0;
  9. background-color: #ccc;
  10. }
  11. #container
  12. {
  13. padding-left: 200px;
  14. }
  15. #drugi
  16. {
  17. background-color: #aaa;
  18. width: 100%;
  19. height: 100%;
  20. }
  21. </head>
  22. <div id="container">
  23. <div id="pierwszy"></div>
  24. <div id="drugi"></div>
  25. </div>
  26. </body>
  27. </html>
Pawel_W
wystarczy ustawić display: block i nie musisz z width: 100% kombinować...
krzywy36
inne rozwiązanie, jednego diva mniej wink.gif:
  1. <title>adsad</title>
  2. #pierwszy
  3. {
  4. width: 200px;
  5. height: 200px;
  6. position: fixed;
  7. bottom: 0;
  8. left: 0;
  9. background-color: #ccc;
  10. }
  11. #drugi
  12. {
  13. background-color: #aaa;
  14. height: 100%;
  15. margin-left: 200px;
  16. }
  17. </head>
  18. <div id="pierwszy"></div>
  19. <div id="drugi">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam sem dui, laoreet sit amet gravida et, iaculis et dolor. Nullam felis felis, aliquet eget pharetra id, sollicitudin non tortor. Nullam sit amet ligula non enim ultricies commodo. Donec ultrices neque eu justo volutpat ultrices. Cras at tortor lectus. Vestibulum pulvinar sagittis faucibus. Nullam semper lobortis dapibus. Aliquam id augue nisl, et varius lectus. Morbi non orci sed enim gravida cursus vel sed lorem. Donec felis ante, ultrices vehicula ultrices eget, imperdiet vel massa. Nulla sit amet mi mi, nec aliquam metus. In tempor rhoncus justo, pellentesque rhoncus sapien euismod a. Mauris odio tortor, fermentum sed iaculis ac, mollis ut tortor.</div>
  20. </body>
  21. </html>


@Pawel_W: divy mają domyślnie display block
radvanced
jestem pod wrażeniem!
cały wieczór nad tym wczoraj przesiedziałem.

Dzięki Panowie!

----- trochę później----

Testuję powyższego CSSa (drugi przykład).
i odkryłem ze jest w nim mała sztuczka. - kontener #drugi jest wypełniony textem co powoduje rozciągnięcie go do krawędzi okna
jeśli w paragrafie będzie krótki text to #drugi nie bedzie miał odpowiedniej szerokości.

Kombinuję, czy da się zrobić tak, aby #drugi bez wzgledu na zawartosc miał szerokosc od 200px z lewej az do konca strony?

----- jeszcze później----

udało sie:
  1. <title>adsad</title>
  2. #pierwszy
  3. {
  4. width: 200px;
  5. height: 200px;
  6. position: fixed;
  7. bottom: 0;
  8. left: 0;
  9. background-color: #ccc;
  10. }
  11. #container
  12. {
  13. padding-left: 200px;
  14. }
  15. #drugi
  16. {
  17. position:fixed;
  18. background-color: #aaa;
  19. bottom: 0px;
  20. width: 100%;
  21. height: 200px;
  22.  
  23. }
  24.  
  25. </head>
  26. <div id="container">
  27. <div id="pierwszy"></div>
  28. <div id="drugi"></div>
  29. </div>
  30. </body>
  31. </html>


Dziękuję Krzywemu36 za rozwiązanie.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.