2016-08-12 2 views
1

Я написал этот CSS:псевдо: прежде, чем снаружи DIV

div { 
 
    width: 500px; 
 
    height:150px; 
 
    margin-left:150px; 
 
    background: lightblue; 
 
} 
 

 
div::before { 
 
    content:''; 
 
    width:50px; 
 
    height:150px; 
 
    display: inline-block; 
 
    background:red; 
 
    position: absolute; 
 
}
<div> 
 
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Officia rem quasi laborum dolor explicabo nobis pariatur ad deleniti repellendus dicta, ducimus expedita! Temporibus quo facilis quae magni, saepe, sapiente rem.</p> 
 
</div>

То, что я хочу, чтобы поставить :before содержание вне DIV, но все же разрушиться к нему, а не внутри.

Благодарим за помощь!

ответ

1

Вы можете использовать transform: translateX(-100%) с left: 0 и добавить position: relative на родителях

div { 
 
    width: 500px; 
 
    height: 150px; 
 
    margin-left: 150px; 
 
    background: lightblue; 
 
    position: relative; 
 
} 
 
div::before { 
 
    content: ''; 
 
    width: 50px; 
 
    height: 150px; 
 
    left: 0; 
 
    display: inline-block; 
 
    transform: translateX(-100%); 
 
    background: red; 
 
    position: absolute; 
 
}
<div> 
 
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Officia rem quasi laborum dolor explicabo nobis pariatur ad deleniti repellendus dicta, ducimus expedita! Temporibus quo facilis quae magni, saepe, sapiente rem.</p> 
 
</div>

+0

Отлично, что это именно то, что я хочу, я не думал об этом. Благодаря ! –

+0

Добро пожаловать. –

1

У вас есть несколько вариантов, я бы использовать свойство, которое требует только одну записи стиля преобразования.

div { 
 
    width: 500px; 
 
    height:150px; 
 
    margin-left:150px; 
 
    background: lightblue; 
 
} 
 

 
div::before { 
 
    content:''; 
 
    width:50px; 
 
    height:150px; 
 
    display: inline-block; 
 
    background:red; 
 
    position: absolute; 
 
    transform: translateX(-50px); 
 
}
<div> 
 
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Officia rem quasi laborum dolor explicabo nobis pariatur ad deleniti repellendus dicta, ducimus expedita! Temporibus quo facilis quae magni, saepe, sapiente rem.</p> 
 
</div>

0

Вы можете сделать это с левой собственностью: до и настройки DIV в положение относительного

div { 
 
    width: 500px; 
 
    height:150px; 
 
    margin-left:150px; 
 
    background: lightblue; 
 
    position: relative; 
 
} 
 

 
div::before { 
 
    left: -50px; 
 
    content:''; 
 
    width:50px; 
 
    height:150px; 
 
    display: inline-block; 
 
    background:red; 
 
    position: absolute; 
 
}
<div> 
 
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Officia rem quasi laborum dolor explicabo nobis pariatur ad deleniti repellendus dicta, ducimus expedita! Temporibus quo facilis quae magni, saepe, sapiente rem.</p> 
 
</div>