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

Artefakty przy skalowaniu

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
0 głosów
1,014 wizyt
pytanie zadane 20 listopada 2018 w HTML i CSS przez Łukasz Bombała Początkujący (300 p.)

Witam. Jakiś czas temu na forum udało wam się mi pomóc. Mam nadzieję że tym razem też dacie radę.
Tworzę stronę zsofestiwal.pl . Strona jest zrobiona w tabeli. Mam problem z skalowaniem strony(co możecie zauważyć po powiększeniu lub pomniejszeniu jej. Wyskakują paski lub nie wszystkie kawałki do siebie pasują. Czy macie jakiś pomysł co mógłbym zrobić aby działało to dobrze?

<!DOCTYPE html>
<html>
	<head>
		<title>Festiwal Talnetów Elbląg</title>
		<meta charset=utf-8 />
		<link rel="stylesheet" href="css.css" text="text/css" />
		<link href="https://fonts.googleapis.com/css?family=Great+Vibes" rel="stylesheet">
		<meta name="viewport" content="width=device-width, initial-scale=1.0" />
	</head>
	<table id="user_Table_01" border="0px" cellspacing="0" cellpadding="0" height="100%";>
		<tbody>
			<tr>		
				<td><img style="display:inherit" src="1_0_0.jpg" width="100%" ></td>
				<td><img style="display:inherit" src="1_0_1.jpg" width="100%" ></td>
				<td><img style="display:inherit" src="1_0_2.jpg" width="100%" ></td>
			</tr>
			<tr>
				<td><img style="display:inherit" src="1_1_0.jpg" width="100%" ></td>
				<td><img style="display:inherit" src="1_1_1.jpg" width="100%" ></td>
				<td><img style="display:inherit" src="1_1_2.jpg" width="100%" ></td>
			</tr>
			<tr>
				<td><img style="display:inherit" src="1_2_0.jpg" width="100%" ></td>
				<td><img style="display:inherit" src="1_2_1.jpg" width="100%" ></td>
				<td><img style="display:inherit" src="1_2_2.jpg" width="100%" ></td>
			</tr>
			<tr>
				<td><img style="display:inherit" src="1_3_0.jpg" width="100%" ></td>
				<td><img style="display:inherit" src="1_3_1.jpg" width="100%" ></td>
				<td><img style="display:inherit" src="1_3_2.jpg" width="100%" ></td>
			</tr>
			<tr>
				<td><img style="display:inherit" src="1_4_0.jpg" width="100%" ></td>
				<td><img style="display:inherit" src="1_4_1.jpg" width="100%" ></td>
				<td><img style="display:inherit" src="1_4_2.jpg" width="100%" ></td>
			</tr>
			<tr>
				<td><img style="display:inherit" src="1_5_0.jpg" width="100%" ></td>
				<td><img style="display:inherit" src="1_5_1.jpg" width="100%" ></td>
				<td><img style="display:inherit" src="1_5_2.jpg" width="100%" ></td>
			</tr>
			<tr>
				<td><img style="display:inherit" src="1_6_0.jpg" width="100%" ></td>
				<td><img style="display:inherit" src="1_6_1.jpg" width="100%" ></td>
				<td><img style="display:inherit" src="1_6_2.jpg" width="100%" ></td>
			</tr>
			<tr>
				<td><img style="display:inherit" src="1_7_0.jpg" width="100%" ></td>
				<td><img style="display:inherit" src="1_7_1.jpg" width="100%" ></td>
				<td><img style="display:inherit" src="1_7_2.jpg" width="100%" ></td>
			</tr><tr>
				<td><img style="display:inherit" src="1_8_0.jpg" width="100%" ></td>
				<td><img style="display:inherit" src="1_8_1.jpg" width="100%" ></td>
				<td><img style="display:inherit" src="1_8_2.jpg" width="100%" ></td>
			</tr>
			<tr>
				<td><img style="display:inherit" src="1_9_0.jpg" width="100%" ></td>
				<td><img style="display:inherit" src="1_9_1.jpg" width="100%" ></td>
				<td><img style="display:inherit" src="1_9_2.jpg" width="100%" ></td>
			</tr>
			<tr>
				<td><img style="display:inherit" src="1_10_0.jpg" width="100%" ></td>
				<td><img style="display:inherit" src="1_10_1.jpg" width="100%" ></td>
				<td><img style="display:inherit" src="1_10_2.jpg" width="100%" ></td>
			</tr>
		</tbody>
	</table>
</html>

 

1 odpowiedź

+1 głos
odpowiedź 21 listopada 2018 przez sefir Dyskutant (8,560 p.)
Nie żeby coś ale w takich czasach robić stronę za pomocą tabeli :P Lepiej na divach to zrobić z tabelami nieraz są cyrki.
komentarz 23 listopada 2018 przez Łukasz Bombała Początkujący (300 p.)
Wtedy wychodzi następny problem czyli ustawienie tego w lini. Chyba że można zrobić to jakoś inaczej. Zobacz że na 1 pasek składają się 3 zdjęcia a pasków jest 11. style="display:inherit" wywala te zdjęcia jedno pod drugim a style="display:inline" tworzy paski między zdjęciami. Może masz jakiś pomysł na alternatywę? Chętnie przyjmę propozycję która zadziała.
komentarz 24 listopada 2018 przez sefir Dyskutant (8,560 p.)
edycja 29 listopada 2018 przez sefir

Spróbuj tą stronę odpalić. Nie chciało mi się html'a pisać, dlatego użyłem js'a do jego generowania :P


<!DOCTYPE html>
<html>
    <head>
        <title>Festiwal Talnetów Elbląg</title>
        <meta charset=utf-8 />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <style>
            *{
                padding: 0px;
                margin: 0px;
            }
            body{ background-color: black; }
            .kontener{ display: table; }
            .wiersz{ display: table-row-group; }
            .kolumna{ display: table-cell; }
            img{
                max-width: 100%;
                height: 100%;
                display: block;
            }
        </style>
    </head>

    <body>
        <script>
            let newElement = (typ, klasa, src)=>{
                let element = document.createElement(typ);
                if(klasa)
                    element.setAttribute("class",klasa);
                if(typ==="img"){
                    element.setAttribute("src","http://zsofestiwal.pl/1_"+src+".jpg");
                }
                return element;
            };
            let kontener = newElement("div", "kontener");
            for(let i=0;i<=10;i++){
                let wiersz = newElement("div", "wiersz");
                for(let j=0;j<3;j++){
                    let kolumna = newElement("div", "kolumna");
                    kolumna.appendChild(newElement("img",null,i+"_"+j));
                    wiersz.appendChild(kolumna);
                }
                kontener.appendChild(wiersz);
            }
            document.body.appendChild(kontener);
        </script>
    </body>
</html>

 

komentarz 29 listopada 2018 przez Łukasz Bombała Początkujący (300 p.)
Wybacz tak późną odpowiedź. Powiem Ci szczerze że skrypt wygląda spoko tylko jest problem, jestem początkujący i nie znam JS. Dla mnie to są mało znaczące komendy, jeżeli mogę prosić Cie o pomoc w zastosowaniu tego skryptu lub napisanie czegoś innego co będzie dla mnie zrozumiałe byłbym bardzo wdzięczy. Znam języki PHP, HTML i CSS.
komentarz 29 listopada 2018 przez sefir Dyskutant (8,560 p.)
Szczerze mówiąc nie chce mi się tego pisać, jak sobie odpalisz tą stronkę możesz kliknąć prawym i wybrać zbadaj element, pokaże Ci to strukturę html.
komentarz 29 listopada 2018 przez Łukasz Bombała Początkujący (300 p.)

Odpaliłem tak jak doradzałeś i efekt widzisz na załączonym obrazkuMoże nie widać na nim świetnie tego co się zadziało ale jest to mam nadzieję wystarczająco czytelne

komentarz 29 listopada 2018 przez sefir Dyskutant (8,560 p.)
Całą stronę skopiowałeś?

U mnie poprawnie działało pod 2 przeglądarkami
komentarz 29 listopada 2018 przez Łukasz Bombała Początkujący (300 p.)
Skopiowałem całą stronę, zapiszę to zaraz jeszcze w index.html i wrzucę na serwer
komentarz 29 listopada 2018 przez Łukasz Bombała Początkujący (300 p.)
Tak jak pisałem tak też zrobiłem. Strona zsofestiwal.pl nawet nic nie pokazuje, nadałem uprawnienia 777 dla bezpieczeństwa ale też nic. Jest to serwer pod strony internetowe więc JS na 100% jest zainstalowany
komentarz 29 listopada 2018 przez sefir Dyskutant (8,560 p.)
Jakiego edytora używasz, bo wkleja jakieś znaki do kodu?
komentarz 29 listopada 2018 przez Łukasz Bombała Początkujący (300 p.)
NotePad++
komentarz 29 listopada 2018 przez sefir Dyskutant (8,560 p.)

Wrzuciłem tu plik, spróbuj go wrzucić na serwa

komentarz 29 listopada 2018 przez Łukasz Bombała Początkujący (300 p.)

@sefir, jednak działa, widocznie przy kopiowaniu coś skopałem ale już wyświetla się dobrze, skopiuję sam skrypt html i zadziała :D. Dziękuję Ci bardzo za wszelką pomoc i jeżeli coś jeszcze będzie będzie się działo to będę pisał

komentarz 29 listopada 2018 przez sefir Dyskutant (8,560 p.)
Uff :D Pisz pisz, chętnie pomogę ziomkowi z Elbląga :D
komentarz 29 listopada 2018 przez Łukasz Bombała Początkujący (300 p.)
Czuję się stalkowany ale miło mi :D
komentarz 29 listopada 2018 przez sefir Dyskutant (8,560 p.)
Ja też z tej wiochy :D
komentarz 29 listopada 2018 przez Łukasz Bombała Początkujący (300 p.)
Współczuję :D
komentarz 29 listopada 2018 przez Łukasz Bombała Początkujący (300 p.)

@sefir, Już wrzuciłem i działa ale niestety strona nie jest wgl kompatybilna z telefonami, rozciąga i to bardzo, jest możliwość wrzucenia tam jakiejś poprawki żeby to lepiej wyglądało?

komentarz 29 listopada 2018 przez sefir Dyskutant (8,560 p.)
Poczekaj, zerknę
komentarz 29 listopada 2018 przez sefir Dyskutant (8,560 p.)
Zobacz czy usunięcie ze stylu ze znacznika img linijki height:100% naprawi problem
komentarz 30 listopada 2018 przez Łukasz Bombała Początkujący (300 p.)
edycja 30 listopada 2018 przez Łukasz Bombała
Naprawiło ale tylko po części, pojawiły się paski które miałem przy moim pierwszym pomyśle :/
komentarz 6 grudnia 2018 przez sefir Dyskutant (8,560 p.)
Największy problem tej strony to to, że wysokość tych obrazków w 1 linii nie jest jednakowa.
komentarz 6 grudnia 2018 przez Łukasz Bombała Początkujący (300 p.)
W tym rzecz że same pliki mają jednakowoą wysokość, wszystkie, skalowanie musi coś psuć
komentarz 6 grudnia 2018 przez sefir Dyskutant (8,560 p.)
Może lepiej byłoby ręcznie wyklepać tę stronę, masz grafiki tu użyte czy tylko 1 plik graficzny?
komentarz 6 grudnia 2018 przez Łukasz Bombała Początkujący (300 p.)
1 podzielony
komentarz 6 grudnia 2018 przez Łukasz Bombała Początkujący (300 p.)
Tylko żółte pola muszą po kliknięciu przekierowywać dalej
komentarz 6 grudnia 2018 przez sefir Dyskutant (8,560 p.)
A nie masz niepodzielonego pliku strony?
komentarz 6 grudnia 2018 przez Łukasz Bombała Początkujący (300 p.)
Mam
komentarz 6 grudnia 2018 przez sefir Dyskutant (8,560 p.)
Może lepiej by było to wyświetlić jako jeden obraz i tylko obszary klikalne zrobić?
komentarz 7 grudnia 2018 przez Łukasz Bombała Początkujący (300 p.)
Gdybym wiedział w jaki sposób to pewnie bym tak zrobił :/
komentarz 7 grudnia 2018 przez sefir Dyskutant (8,560 p.)
A możesz wrzucić obraz na serwa i dać linka do niego?
komentarz 7 grudnia 2018 przez Łukasz Bombała Początkujący (300 p.)
Zaraz Ci gdzieś na hosting wstawię bo zrezygnowałem z tamtego serwera i mam inny na którym nie zainstalowałem jeszcze Apache i php
komentarz 7 grudnia 2018 przez Łukasz Bombała Początkujący (300 p.)
komentarz 7 grudnia 2018 przez sefir Dyskutant (8,560 p.)
Jakiej czcionki tam używasz?
komentarz 7 grudnia 2018 przez Łukasz Bombała Początkujący (300 p.)
Great Verbs
komentarz 7 grudnia 2018 przez sefir Dyskutant (8,560 p.)
edycja 8 grudnia 2018 przez sefir

Wisisz mi piwo :D


<!DOCTYPE html>
<html>
    <head>
        <title>Festiwal Talnetów Elbląg</title>
        <meta charset=utf-8 />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <link href="https://fonts.googleapis.com/css?family=Great+Vibes" rel="stylesheet"> 
        <style>
            *{
                padding:0;
                margin:0;
                font-family: 'Great Vibes', cursive;
            }
            body{
                background-color: black;
            }
            #kontener a{
                position: absolute;
                text-align: center;
                vertical-align: middle;
                color: inherit;
                text-decoration: none;
            }
        </style>
    </head>
    <script>
        let $ = id=>document.getElementById(id);
        let updatePrzyciski = ()=>{
            let kontener = $("kontener");
            let obraz = $("obraz");
            let property = {
                top:id=>{let tab = [220, 275, 333, 392, 447]; return tab[id]*obraz.ratioSzerokosc();},
                left:()=>97*obraz.ratioSzerokosc()+obraz.offsetLeft,
                wysokosc:()=>38*obraz.ratioWysokosc(),
                szerokosc:()=>114*obraz.ratioSzerokosc()
            }
            for(let i = 0; i < 5; i++){
                let div = document.getElementById("div"+i);
                let style = div.style;
                style.top = property.top(i)+"px";
                style.left = property.left()+"px";
                style.width = property.szerokosc()+"px";
                style.height = property.wysokosc()+"px";
                style.lineHeight = style.height;
            }
        }
        let calcObrazProperty = ()=>{
            let obraz = $("obraz");
            if(obraz.setMaxWidth!==undefined)
                return obraz; 
            let style = obraz.style;
            style.position = "absolute";
            obraz.startowaSzerokosc = obraz.clientWidth;
            obraz.startowaWysokosc = obraz.clientHeight;
            obraz.szerokoscOkna = ()=>window.outerWidth,
            obraz.setMaxWidth = ()=>{
                    let szerokoscOkna = obraz.szerokoscOkna();
                    let startowaSzerokosc = obraz.startowaSzerokosc;
                    style.maxWidth =  (startowaSzerokosc>szerokoscOkna?szerokoscOkna:startowaSzerokosc)+"px";
            }
            obraz.wysrodkuj = ()=>{
                style.left = (obraz.szerokoscOkna()-obraz.clientWidth)/2+"px";
            }
            obraz.ratioSzerokosc = ()=>obraz.clientWidth/obraz.startowaSzerokosc;
            obraz.ratioWysokosc = ()=>obraz.clientHeight/obraz.startowaWysokosc;
            return obraz;
        };
        
        let f = ()=>{

            let obraz = calcObrazProperty();
            obraz.setMaxWidth();
            obraz.wysrodkuj();
            updatePrzyciski();
        }
        window.onload = f;
        window.onresize = f;
    </script>

    <body>
        <div id="kontener">
            <img id="obraz" src="https://images90.fotosik.pl/86/1a00f458ebe96834med.jpg"></img>
            <a id="div0" href="http://google.pl">jeden</a>
            <a id="div1" href="http://google.pl">dwa</a>
            <a id="div2" href="http://google.pl">trzy</a>
            <a id="div3" href="http://google.pl">cztery</a>
            <a id="div4" href="https://google.pl">piec</a>
        </div>

    </body>
</html>

 

komentarz 7 grudnia 2018 przez sefir Dyskutant (8,560 p.)
Pisz jak czegoś tu jeszcze brakuje.
komentarz 7 grudnia 2018 przez Łukasz Bombała Początkujący (300 p.)
Jesteś wariatem ale takim pozytywnym
komentarz 7 grudnia 2018 przez sefir Dyskutant (8,560 p.)
Haha :D

Podobne pytania

+1 głos
3 odpowiedzi 1,678 wizyt
pytanie zadane 6 maja 2015 w HTML i CSS przez niezalogowany
0 głosów
1 odpowiedź 2,070 wizyt
pytanie zadane 5 lutego 2018 w PHP przez Śwież4k Bywalec (2,570 p.)
0 głosów
1 odpowiedź 124 wizyt
pytanie zadane 24 marca 2023 w HTML i CSS przez HUBSON2912 Obywatel (1,480 p.)

93,430 zapytań

142,427 odpowiedzi

322,652 komentarzy

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

...