Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][CSS] Zakodowanie
Forum PHP.pl > Forum > Przedszkole
Turson
Mam takowy element do zakodowania , który odpowiada za główną część strony - oraz sam środek.
Aktualnie ustawiłem to jako tło i nadałem określoną wysokość. I właśnie ona mi się nie podoba, bo jak tekst będzie dłuższy to się nie zmieni a tekst wyjedzie poza nie.
Myślałem o wycięciu góry, zakodowania jakoś (nie wiem jak) i dalej środek jako tło i znów wycięty dół.
pedro84
No i tak zrób. Góra + 1px środek + dół. Ewentualnie użyj CSS3.
slightyboy
Możesz spróbować z "border-radius" (i odpowiednikami dla różnych przeglądarek), jednak wówczas na starszych browserach zaokrąglenie nie będzie widoczne. Inne rozwiązanie to te, które pokrótce opisałeś - wycięcie części górnej i dolnej, a po środku stworzenie kontenera. smile.gif
!*!
Daj sobie spokój ze wsparciem dla starszych przeglądarek. Użyj po prostu css:

  1. border-radius: 5px; //normalna wartość, działa też dla opery
  2. -webkit-border-radius: 5px; //safari, chrome
  3. -moz-border-radius: 5px; //firefox


Dla IE użyj w komentarzu warunkowym JS, np. mintajax
Turson
Cytat(!*! @ 24.07.2010, 09:18:38 ) *
Daj sobie spokój ze wsparciem dla starszych przeglądarek. Użyj po prostu css:

  1. border-radius: 5px; //normalna wartość, działa też dla opery
  2. -webkit-border-radius: 5px; //safari, chrome
  3. -moz-border-radius: 5px; //firefox


Dla IE użyj w komentarzu warunkowym JS, np. mintajax

Właściwie co to da i jak zastosować?


EDIT
Zrobiłem tak:
  1. #main {
  2. background: url(bgc.jpg) repeat-x;
  3. vertical-align: top;
  4. width:900px;
  5. height:300px;
  6. margin:0px auto;
  7. padding:0;
  8. border-radius: 5px; //normalna wartość, działa też dla opery
  9. -webkit-border-radius: 5px; //safari, chrome
  10. -moz-border-radius: 5px; //firefox
  11. }

Ale cos nie dziala
Adam_
Cytat(TursoN @ 24.07.2010, 14:18:44 ) *
Właściwie co to da i jak zastosować?


EDIT
Zrobiłem tak:
  1. #main {
  2. background: url(bgc.jpg) repeat-x;
  3. vertical-align: top;
  4. width:900px;
  5. height:300px;
  6. margin:0px auto;
  7. padding:0;
  8. border-radius: 5px; //normalna wartość, działa też dla opery
  9. -webkit-border-radius: 5px; //safari, chrome
  10. -moz-border-radius: 5px; //firefox
  11. }

Ale cos nie dziala



Nie jestem pewny, ale takie zaokrąglenie chyba nie działa, gdy ten div jest wypełniony obrazkiem - wydaje mi się, że działa tylko wtedy kiedy wypełnisz go jednym kolorem lub gradientem w CSS3. Jesli się mylę, to mnie poprawcie.
bastard13
Zrób tak, jak ci napisał pedro84, czyli góra, środek, dół.
Nie dużo pracy i brak problemów z wyświetlaniem na różnych przeglądarkach.
Oczywiście możesz kombinować ze stylami i js, ale zapewniam cię, że pochłonie to znacznie więcej pracy i pod jakąś przeglądarką, najprawdopodobniej, będzie wyglądać nie tak, jak byś tego chciał.
glh
Jeżeli chodzi o to o czym wspomniałeś, czyli o podział na trzy bloki:

----------------------------------
góra z zaokrąglonymi rogami
----------------------------------

środek z treścią

----------------------------------
dół z zaokrąglonymi rogami
----------------------------------

to można to zrobić tak:

1.Tworzysz trzy obrazki - tła dla bloków o id gora, srodek, dol:
a) blok o id gora: wycinasz np. 13 pikseli(tak żeby było całe zaokrąglenie rogów) z gory i zapisujesz jako gora.png
cool.gif blok i id srodek: wycinasz np. 3 pikselowy prostokąt (lub jednopikselowy , czy jaki tam chcesz)
c) blok o id dol: tak samo jak z blokiem gora, możesz nawet obrócić plik góra.png w pionie jeżeli nie chce Ci się wycinać dolnych 14 pikseli

w kodzie strony dajesz:
  1. <div id="calosc">
  2. <div id="gora"></div>
  3.  
  4. <div id="srodek">
  5. Tutaj dajesz jakis tekst.
  6. <br/>Tutaj dajesz jakis tekst.
  7. <br/>Tutaj dajesz jakis tekst.
  8. </div>
  9.  
  10. <div id="dol"></div>
  11. </div>


W arkuszu stylów:

  1. #gora
  2. {
  3. width:851px;
  4. height:13px;
  5. background:url(gora.png) no-repeat;
  6. }
  7.  
  8. #srodek
  9. {
  10. width:851px;
  11. zoom:1;
  12. background:url(srodek.png) repeat-y;
  13. }
  14.  
  15. #dol
  16. {
  17. width:851px;
  18. height:14px;
  19. background:url(dol.png) no-repeat;
  20. }
  21.  
  22. #calosc
  23. {
  24. width:851px;
  25. zoom:1;
  26. overflow:visible;
  27. }



Dla IE należy jeszcze dodać !DOCTYPE (koniecznie z adresem www), np:
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
Turson
GLH, wielkie dzięki.

Przy divie srodek mam problem.
Mam tak:
  1. <div id="main">
  2. <div id="text" class="text">tekst

Div text to bardzo wazna czesc - kolor tekstu, lokalizacja itd.
Wtedy tekst po divie tekst nie wyświetla się w main


txt
  1. .text {
  2. float:left;
  3. color:white;
  4. font-size:20px;
  5. padding: 0px;
  6. margin-top:40px;
  7. margin-left:50px;
  8. }

  1. #main {
  2. width:900px;
  3. zoom:1;
  4. background:url(cent.png) repeat-y;
  5. vertical-align: top;
  6. margin:0px auto;
  7. padding:0;
  8.  
  9. }


HTML
  1. <div id="gora"></div>
  2. <div id="main">
  3. <div id="text" class="text">
  4. <form method="post" id="upload_form" enctype="multipart/form-data" action="upload.php">
  5.  
  6. <input name="userfile[]" type="file" size="50" /> <br />
  7. <input name="userfile[]" type="file" size="50" /> <br />
  8. <input name="userfile[]" type="file" size="50" /> <br />
  9. <span id="more_file_inputs"></span> <br />
  10.  
  11.  
  12. <br />
  13.  
  14.  
  15. <div id="upload" class="upload"><input class="button" type="button" value="Start"/></div>
  16. </p>
  17. </form>
  18. </div>
  19. <div id="textp" class="textp"><center>REKLAMA<br><br>REKLAMA<br><Br>REKLAMA<br><br>REKLAMA</div></center>
krzysztof_kf
daj dla selektora main

  1. overflow: hidden;



jak nie działa wrzuć stronę na jakiś url żeby mieć podgląd .
!*!
Niepotrzebnie nakładacie dodatkowy kod, dobrze że jeszcze tabelek nie zaproponowaliście...

To działa bez problemu, również z tłem obrazkowym:

  1. <!DOCTYPE html>
  2. <meta charset="utf-8" />
  3. <title>Zaokrąglenie</title>
  4. <link rel='stylesheet' href='style.css'/>
  5. <script type="text/javascript" src="mintAjax.js"></script>
  6. <script type="text/javascript">
  7. function round(){
  8. mint.fx.Round("text", "all", "normal");
  9. }
  10. window.onload = round;
  11. </head>
  12.  
  13. <div id="text">Text</div>
  14.  
  15. </body>
  16. </html>


Do diva text dodaj tylko te parametry które podałem wyżej, oraz wgraj do katalogu plik mintAjax.js który ściągasz ze strony. Dodatkowo kod JS opakuj w komentarze warunkowe dla IE (bo i tak inne przeglądarki wspierają zaokrąglenie rogów, więc dlaczego mają dodatkowo pobierać dane). I nie baw się w budowę dokumentu "góra, środek, dół" to strata czasu, już o przejrzystości kodu nie wspomnę.
Turson
Pokombinowałem z tym i było dobrze. Potem nagle nie wiem od czego znów się troche zsypało.
http://turson.pl/a/

W źródle macie css i html kod
Substr
Chodzi o to, że ta belka trochę odstaje?

w style.css zamien
  1. #gora
  2. {
  3. width:910px;
  4. height:13px;
  5. background:url(up.png) no-repeat;
  6. margin:0px auto;
  7. }

na
  1. #gora
  2. {
  3. width:900px;
  4. height:13px;
  5. background:url(up.png) no-repeat;
  6. margin:0px auto;
  7. }


dokładnie wystarczyło zmienić szerokości z 910 na 900 px.

btw. wytnij to jakoś ładnie, bo brzydko wygląda.

ten kawałek możesz spokojnie zmniejszyć do 1 px wysokości.

glh
Blok #gora ma szerokość 910px, a powinno być 900px.
Popraw i będzie ok.

Ps. Obrazki, które służą za tło bloków #gora i #dol mają wysokość 22px, więc możesz taką im wysokość ustawić.
Te moje wartości (13 i 14) to takie przykładowe były.
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.