2012-01-11 8 views

Odpowiedz

10

myślę, że jest bezpieczniejsze, aby zawsze stosować kolor wraz z obrazem tła.

Przeglądarka nie może obsługiwać formatu PNG lub żądanie obrazu może się nie udać (bez względu na przyczynę).

Kolor z drugiej strony będzie zawsze stosowany. Zobaczyć go jako swego rodzaju planu tworzenia kopii zapasowych :-)


EDIT:

rzeczywiście nie wymagają plik obrazu po prostu stworzyć kolorową półprzezroczystą nakładkę. Wystarczy background-color i opacity.

myślę dokładna przyczyna jest taka, że ​​jQuery UI umożliwia zastosowanie tekstur (można wybrać je lub wyłączyć je w aplikacji ThemeBuilder na stronie internetowej jQuery UI. To dlatego obraz jest używany, nawet gdy nie wybrano tekstury . Nie struktura jest rzeczywiście „płaski” tekstury można rzeczywiście zobaczyć go w nazwie pliku obrazu.

ui-bg_flat_75_aaaaaa_40x100.png 
  • płaskim = brak tekstury, płaski kolor
  • = krycie tekstury (używając png kanał alfa)
  • aaaaaa = koloru tekstury
  • 40x100 = wielkość wzoru

Jeśli stosuje się "biało-linie" tekstury do nakładki w ThemeBuilder będzie generowany plików graficznych o tej nazwie:

ui-bg_ biało-linie _75_aaaaaa_40x100

Pierwsza część odpowiedzi jest nadal ważna, ale jest to bardziej główny powód w przypadku jquery ui.

+2

Dlaczego nie tylko kolor? – ripper234

+0

O tak, to ma sens - nie grałem jeszcze z teksturami, więc nie myślałem o tym. – ripper234

0

tylko przypuszczenie, ale być może jest to dla starszych przeglądarek, które nie mają wsparcia PNG lub jedynie wsparcie „częściowe” za efekt chcą osiągnąć, lub dla tych, którzy zapominają, aby skopiować obrazy całej

0

To, co masz, to skrócona własność CSS do ustawienia tła. Możesz również napisać:

background-color: #AAA; 
background-image: url(images/ui-bg_flat_75_aaaaaa_40x100.png); 
background-position: 50% 50%; 
background-repeat: repeat-x; 

Ponieważ kolor jest pierwszym parametrem w wersji skróconej, należy go podać. Odnosi skutek, np.

  • tło-image nie znaleziono
  • lub (w tym przypadku) wysokość elementu rozciąga wysokość tle wizerunku
  • lub Twój background-image contains transparacy.

Jeśli chcesz tylko określić kolor, można też to zrobić:

background-color: #AAA; 

lub że (skrótowej wersji z tylko jednego parametru):

background: #AAA; 

inne parametry zostanie wtedy ustawiony jako domyślny. Jeśli chcesz tego samego expresseion ale bez obrazu, można to zrobić tak:

background: #AAA none 50% 50% repeat-x; 

Here's całkiem przyzwoite wyjaśnienie tego tematu.

+0

Prawdopodobnie istnieje jakieś inne wytłumaczenie, ponieważ mogą one również definiować 'background: dziedziczą adres URL (...' lub 'background: transparent url (...' jeśli chcieliby zignorować kolor, – kontur

+0

@kontur To prawda, ale obie "dziedziczenie" i "przezroczysty" są poprawnymi wartościami dla właściwości 'color'.) – Quasdunk

0

Myślę, że możesz użyć półprzezroczystych png tła dla swoich widgetów, gdy budujesz niestandardowe pliki do pobrania jquery. Dlatego tak ważne jest, aby przezroczyste części miały kolor poniżej.

Edycja: Oznacza to, że budowniczy motywów jest zbudowany tak, aby zawsze zawierał kolor i png, i aby trzymać się tych schematów, zawiera jednolity kolor png, jeśli tekstura jest lita, w przeciwieństwie do kratkę lub paski opcje gradientu.

Zobacz różnicę pomiędzy:

with semi transparent png

with solid png

+0

Jak to działa inaczej niż tylko kolor z nieprzezroczystością? – ripper234

+0

Nie można zakodować paskami lub warcernami z nieprzezroczystością. Załóżmy, że wybierasz czerwony - ok, jqueryui buduje ci zestawienie tła z jednolitym kolorem czerwonym i czerwonym png, ale jeśli wybierzesz czerwone warcaby, jqueryui zbuduje ci tło z jednolitym czerwonym kolorem i png z półprzezroczystymi warcabami. "podwójna" definicja w przypadku jednolitego koloru. [patrz linki dodane do odpowiedzi] – kontur

Powiązane problemy