2012-05-23 1 views
0

Можно создать дубликат:
Offset a background image from the right using CSSВозможно ли на CSS (2) сказать правку-5 на фоне?

CSS обычно:

background-position:right top; 

, но если я хотел бы сказать нечто вроде правой 5px? Является ли это возможным? Подобное положение в элементе:

right:-5px; 

Кто-нибудь знает?

EDIT

Может быть, это неясно! Я имею в виду нечто вроде:

background-position:right-5px top; 
+0

фон положение: -5px 0px; ? – cloverink

+0

-5px начало слева! Мне нужно -5px справа :) – markzzz

+3

http://stackoverflow.com/questions/5142405/offset-a-background-image-from-the-right-using-css – cloverink

ответ

1

Это невозможно с CSS2, но вы можете сделать трюк. Написать так:

div{ 
    background:red; 
    width:200px; 
    height:200px; 
    position:relative; 
    overflow:hidden; 
} 
div:after{ 
    content:''; 
    position:absolute; 
    width:200px; 
    height:200px; 
    top:0; 
    right:-5px; 
    background:url('http://www.dummyimage.com/600x400/000/fff'); 
} 

Проверить это http://jsfiddle.net/s9L2T/

+0

не верно, css3 имеет продвинутый фоновый модуль. Проверьте это (ссылка в моем ответе) для получения дополнительной информации. – Christoph

+0

Мой ответ, связанный с css2, а не css3. OP ясно объяснить «возможно ли это в CSS2» – sandeep

+0

хе-хе, вы отредактировали свой ответ перед комментированием;) Сначала вы написали «невозможно с CSS».Но неважно, работает ваш обход (но не в IE <= 7) – Christoph

2

http://www.w3.org/TR/CSS21/colors.html#propdef-background-position

По CSS2.1 спецификации, вы только можете это сделать, если вы знаете размеры контейнера.

Предположим, что контейнер 300px. вы можете сказать:

background-position:305px или использовать проценты.

Однако,

http://www.w3.org/TR/css3-background/#the-background-position

, как из CSS3 спецификации, вы можете определить смещения со всех разных уголков.

Таким образом, background-position: top 0 right -5px; даст желаемый результат.

За исключением IE, Support - неплохо.

+1

Я не вижу никаких способов сделать это: O – markzzz

+0

Но он всегда начинается слева в графе px! не из права! – markzzz

+0

Ну, так что я не могу этого сделать :) – markzzz

Смежные вопросы