![]() |
Automatyczne dopasowanie ramki div-a do zawartości - Wersja do druku +- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl) +-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www) +--- Dział: xHTML, CSS, JavaScript (https://www.webmastertalk.pl/forum-xhtml-css-javascript) +--- Wątek: Automatyczne dopasowanie ramki div-a do zawartości (/thread-automatyczne-dopasowanie-ramki-div-a-do-zawarto%C5%9Bci) |
Automatyczne dopasowanie ramki div-a do zawartości - MireX - 10-09-2009 Cześć wszystkim! Mam mały problem - w uproszczeniu: jeśli zawartość diva jest szersza od okna przeglądarki, to prawa część ramki tego diva przebiega przez zawartość. Może dla zobrazowania mały skrypcik JS: Kod PHP: javascript: document.write('<html><body><div id="mydiv" style="border: blue 3px dashed"><table border="1"><tr>'); for(i=0;i<200;++i){document.write('<td>'+i+'</td>');} document.write('</tr></table></div></body></html>'); document.close(); Skrypt tworzy diva (z obramowaniem), a w nim tabelkę - która w większości przypadków - będzie szersza od okna przeglądarki. Niestety "border" cały czas jest taki jak szerokość okna. I tu moje pytanie: da się zrobić tak, żeby border się dostosowywał do szerszej zawartości? Problem dotyczy FF i Opery, a IE nie - co utwierdza mnie w przekonaniu, że robię coś nie tak :-) Pozdr., M. RE: Automatyczne dopasowanie ramki div-a do zawartości - mar22 - 12-09-2009 mozesz zrobic np tak ![]() Kod: javascript: document.write('<html><body><div id="mydiv" style="border: blue 3px dashed;min-width:5120;"><table border="1"><tr>'); for(i=0;i<200;++i){document.write('<td>'+i+'</td>');} document.write('</tr></table></div></body></html>'); document.close(); RE: Automatyczne dopasowanie ramki div-a do zawartości - MireX - 12-09-2009 Dzięki za sugestię - tylko te przykładowe 200 komórek nie jest niestety wartością stałą - a ja chciałbym, żeby ramka się automatycznie dopasowywała właśnie w zależności od szerokości zawartości. Na razie to co wymyśliłem jest podobne do twojego pomysłu - tylko zamiast min-width korzystam z width (to chyba nie robi różnicy), a samą wartość generuję na podstawie tego, ile kolumn ma być - czyli w uproszczeniu: Kod PHP: javascript: k=200; document.write('<html><body><div id="mydiv" style="border: blue 3px dashed; width: '+(Math.round(k*25.62))+';"><table border="1"><tr>'); for(i=0;i<k;++i){document.write('<td>'+i+'</td>');} document.write('</tr></table></div></body></html>'); document.close(); Aczkolwiek takie rozwiązanie wydaje mi się trochę prowizoryczne i nie jestem przekonany, że taki wpisany na stałe współczynnik się zawsze sprawdzi. Pozdr., M. PS: A najbardziej mnie wnerwia, że w IE wygląda dobrze bez takich zabaw ![]() |