Tło na 100% szerokości okna przy małych i dużych rozdzielczościach

0

Witam.

Jestem w trakcie tworzenia strony www gdzie w headerze znajdują się zdjęcia wyświetlane na całą szerokość strony przy stałej wysokości diva (id="top") w którym są umieszczone.

Chodzi o to że, jeżeli odpalimy to na małym ekranie to wysokość zdjęcia jest za mała i widać tło pod i nad zdjęciem. A z drugiej strony gdy wyświetlimy to na urządzeniu posiadającym wysoką rozdzielczość obraz jest bardzo duży i spora jego część jest ucięta od spodu i od góry. Można to zaobserwować podczas zwężania okna przeglądarki.
Powinno to wyglądać tak jak tutaj: http://www.redington.com/
Na chwilę obecną udało mi się zrobić tylko coś takiego:

  • http://ntmmed.webd.pl/tiptop/index.php
    Mam jeszcze problem z walidacją formularzy. A dokładniej z porównaniem haseł aby te były identyczne. Używam do tego jquery.validate.js, nie ważne jak mocno próbuje zawsze wyświetla mi że hasła nie są takie same, mimo tego iż wpisuje identyczne wartości.
    Formularz:
<form class="register" id="register" method="post" action="index.php?view=register">
  <fieldset>
    <p class="register">
      <label for="imie">Imię:</label>
      <input id="imie" name="imie" type="text">
    </p>
    <p class="register">
      <label for="nazwisko">Nazwisko:</label>
      <input id="nazwisko" name="nazwisko" type="text">
    </p>
    <p class="register">
      <label for="adres">Adres (ulica i numer domu)</label>
      <input id="adres" name="adres" type="text">
    </p>
    <p class="register">
      <label for="kod_pocztowy">Kod Pocztowy:</label>
      <input id="kod_pocztowy" name="kod_pocztowy" type="text">
    </p>
    <p class="register">
      <label for="miasto">Miasto:</label>
      <input id="miasto" name="miasto" type="text">
    </p>
    <p class="register">
      <label for="email">E-Mail (required)</label>
      <input id="email" type="email" name="email">
    </p>
    <p class="register">
      <label for="telefon">Telefon:</label>
      <input id="telefon" type="digits" name="telefon">
    </p>
    <p class="register">
      <label for="haslo">Hasło:</label>
      <input id="haslo" type="password" name="haslo">
    </p>
    <p class="register">
      <label for="haslo2">Powtórz Hasło:</label>
      <input id="haslo2" type="password" name="haslo2">
    </p>
    <p>
      <input class="button" type="submit" value="rejestruj">
    </p>
  </fieldset>
</form>

Walidacja:

$().ready(function() {
	$("form#register").validate({
			rules: {
				imie: {	
						required: true,
						minlength: 2
				},
				nazwisko: {	
						required: true,
						minlength: 2
				},
				kod_pocztowy: "required",
				miasto: "required",
				adres: {	
						required: true,
						minlength: 2
				},
				haslo: {
					required: true,
					minlength: 3
				},
				haslo2: {
					required: true,
					equalTo: "#haslo"
				},
				email: {
					required: true,
					email: true
				},
				telefon: {digits: true}
			},
			messages: {
				imie: {
					required: "ProszÄ podaÄ imiÄ",
					minlength: "ImiÄ musi mieÄ conajmniej 2 znaki"
				},
				nazwisko: {
					required: "ProszÄ podaÄ nazwisko",
					minlength: "Nazwisko musi mieÄ conajmniej 2 znaki"
				},
				adres: {
					required: "ProszÄ wpisaÄ adres",
					minlength: "Adres musi mieÄ conajmniej 2 znaki"
				},
				haslo: {
					required: "ProszÄ wpisaÄ hasĹo",
					minlength: "HasĹo musi mieÄ conajmniej 3 znaki"
				},
				haslo2: {
					required: "ProszÄ wpisaÄ hasĹo",
					equalTo: "HasĹa muszÄ byÄ identyczne"
				},
				email: "ProszÄ podaÄ adres email",
				kod_pocztowy: "ProszÄ podaÄ kod pocztowy",
				miasto: "ProszÄ podaÄ miasto",
				telefon: "ProszÄ wpisaÄ tylko liczby"
			}
			
	});
});
0

Jezeli chodzi o background, to Ty operujesz na img i jak dasz 100% width, to height dostosowuje sie tak, zeby nie zdeformowac obrazka. W takiej sytuacji najlepiej jest skorzystać z właściwości background nałożonej na div. Zamiast 4x img, to 4 divy, lub dynamicznie zmieniać klasy i w cssie i uzyc jednego div'a, a dla każdej klasy ustawić jakiś inny bg.

background-size:cover powoduje, ze obrazek tak się dostosowuje ze automatycznie pokrywa cały div.

A jezeli chodzi o plugin to jest on bardzo popularny, wystarczy wygooglowac. Sprobuj wywalic required:true z haslo: i haslo2

http://jsfiddle.net/fEZFB/379/

0

Jak wyrzuci required to będzie akceptowało puste wartości.
Spróbuj tak: http://jsfiddle.net/fEZFB/384/

0

Rozumiem, że chodzi o coś takiego?
https://jsfiddle.net/5we1kc44/

Jest lepiej, ale nie działa w IE które nie obsługuje niektórych parametrów tła :/.
No i po drugie, przy zbyt szerokim ekranie ucina dół i górę. Co prawda wiem że nie da się tego naprawić w prosty sposób bo obraz musi mieć pewne proporcje. Ale może znacie jakieś triki jak to poprawić.

tutaj to działa w miarę ładnie: http://www.redington.com/
Wydaje mi się że obraz skaluje się do pewnego momentu potem już przestaje i tylko go "odcina" po bokach.

Kurcze walczę z tą walidacją i walczę i ciągle nie działają mi te hasła :(
http://ntmmed.webd.pl/tiptop/

Na stronie nie działa a tutaj https://jsfiddle.net/fEZFB/385/ działa. x_X

0

Nooo! Walidacja działa. Okazało się, że w formularzu logowania tez miałem input o takiej samej nazwie i pobierało mi z tego elementu wartość haslo1 ;).

1 użytkowników online, w tym zalogowanych: 0, gości: 1