2013-08-14 3 views
2

У меня есть фоновое изображение с фоном: обложка; к нему прилагалась серия разделов, которые я хотел бы сделать индивидуальными обтравочными масками.Использование div как обтравочной маски в css

Я рассмотрел функциональный клип: rect (20px, 20px, 20px, 20px,); однако, поскольку divs вводятся через систему CMS, будет нецелесообразно определять размер набора.

Есть ли способ установить div с помощью свойства обтравочной маски, чтобы он фиксировал изображение в любом месте, где находится div на странице?

Я не особенно хочу использовать наложение изображений, так как этот сайт будет реагировать.

+0

Update: Хорошо, так что я нашел элемент фона-клип: контент-поле; который в какой-то мере делает то, что мне нужно для создания divs, становится обтравочной маской, но это работает только в том случае, если фоновое изображение является частью div. Можно ли это расширить, чтобы фон-клип был применен к родительскому div? –

ответ

0

Если я правильно понял, вы просто ищете оверлей, размер которых изменится с размером экрана, а div с фоновым изображением?

В этом случае, если это возможно, почему бы просто не добавить эти divs в раздел div, который требует обрезки, например this. Для этой цели я использовал только один div с прозрачным фоном и рамкой, применяемой к нему. Если вам нужно закрепить изображение в непрямоугольной форме, вам понадобится больше div (например, для параллеллограммы, алмаза, треугольной формы вам потребуется не менее 2).

Кроме того, к сожалению, CSS не допускает% границ, но я думаю, что этот пример

Вы также можете сделать это наоборот и разместить IMG DIV внутри клипер дивы; только вопрос о том, что лучше всего подходит ...

Код для ссылки:

HTML:

<div id="tobeClipped"> 
    <div id="clippers"></div> 
    </div> 

CSS:

body, html { 
    /* necessary for sizing children in % */ 
    width: 100%; 
    height: 100%; 
} 
#tobeClipped { 
    width: 80%; 
    height: 40%; 
    position: relative; 
    background-image: url('http://cdn.theatlantic.com/static/infocus/ngpc112812/s_n01_nursingm.jpg'); 
    background-size: cover; 
} 
#tobeClipped>div { 
    position: absolute; 
} 
#clippers { 
    width: 100%; 
    height: 100%; 
    border: 20px solid grey; 
    border-left-width: 100px; 
    box-sizing: border-box; 
} 

Пожалуйста, уточнить, если это не совсем то, что вы искали.

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