Porównaj ceny domen i usług IT, sprzedawców z całego świata
css

Jak ustawić położenie tła na bezwzględną odległość, zaczynając od prawej strony?


Chcę ustawić obraz tła dla elementu DIV tak, aby znajdował się u góry


części PRAWEGO elementu div, ale ze stałą odległością
10px
na górze i po prawej stronie.
Tak bym to zrobił, gdybym chciał, żeby był na górze

LEFT

div:
background: url(images/img06.gif) no-repeat 10px 10px;
Czy mimo wszystko można osiągnąć ten sam wynik, ale pokazując tło na górze

RIGHT

?
Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

We wszystkich nowoczesnych przeglądarkach i IE do wersji 9 można używać czterocyfrowej składni,

określone w CSS3
http://www.w3.org/TR/css3-back ... ition
:
background-position: right 10px top 10px;

Źródło:

MDN
https://developer.mozilla.org/ ... ition
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Użyj wspomnianej wcześniej reguły razem z górnym i prawym marginesem:
background: url(images/img06.gif) no-repeat top right;
margin-top: 10px;
margin-right: 10px;

Obrazy tła pojawiają się tylko z dopełnieniem, a nie z marginesami. Jeśli dodanie marginesu nie jest opcją, być może będziesz musiał uciec się do innego div, chociaż zalecałbym używanie go tylko w ostateczności, aby zachować jak najmniejsze i obskurne znaczniki.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Można to zrobić na kilka sposobów.
  • Jeśli to możliwe, wykonaj obliczenia samodzielnie. Znasz już wymiary swojego wyglądu. Jeśli znasz wymiary div, możesz po prostu wstawić obrazek (szerokość div - szerokość obrazka - 10, wysokość div - wysokość obrazka - 10).
  • Użyj JavaScript, aby wykonać ciężką pracę za Ciebie. Prawie taka sama metoda jak powyżej, z tym wyjątkiem, że nie musisz znać wymiarów samego elementu div. Javascript może ci powiedzieć.
  • Bardziej hackerskim sposobem byłoby umieszczenie przezroczystej ramki o wielkości 10 pikseli wokół górnej i prawej części obrazu i ustawienie pozycji w
    prawym górnym rogu
    .
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Nie wiem, czy jest to możliwe w czystym CSS, więc możesz spróbować
background: url(images/img06.gif) no-repeat top right;

i zmień obraz, tak aby zawierał 10-pikselowe obramowanie u góry i po prawej stronie z przezroczystym kolorem
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Możesz użyć procentów:
background: url(...) top 98% no-repeat;

Jeśli znasz szerokość nadrzędnego elementu div, powinno być dla Ciebie łatwe ustalenie, jakiej wartości procentowej należy użyć.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Jednym z rozwiązań jest bezwzględne umieszczenie pustego elementu
div
i nadanie mu tła. Nie wierzę, że istnieje sposób, aby to zrobić wyłącznie za pomocą CSS, bez zmian w obrazie i bez dodatkowych znaczników w płynnym układzie.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Możesz sfałszować przestrzeń po prawej stronie obramowaniem w pikselach (przez większość czasu białą, a może czymś innym)
background-image: url(../images/calender.svg) center right
border-right: 5px white solid
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Prawidłowy format to:
background: url(YourUrl) 0px -50px no-repeat;

Gdzie
0px
to pozycja w poziomie, a
-50px
to pozycja w pionie.
CSS
background-position
przyjmuje wartości ujemne.

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się