2013-01-03 14 views
12

Próbuję ustawić lewą właściwość elementu div w dokładnej lokalizacji w zależności od szerokości jego rodzica.Jak ustawić właściwość "left" mojego div przy użyciu css3 calc?

W szczególności chcę, aby właściwość "left" była jej rodzicielską szerokością - 350px.

Próbuję użyć calc css3 w ten sposób (po lewej: calc (100% - 350px)) bez rezultatu. Prawdopodobnie dlatego, że 100% patrzy na właściwość po lewej stronie zamiast na szerokość rodzica ...

Czy to w ogóle możliwe lub co robię źle?

Dzięki

<div id="login5" class="login"> 
    <h3>Login</h3> 

    // code 

</div> 

Wtedy w moim CSS:

#login5 { 
    position: absolute; 
    width: 260px; 
    left: calc(100% - 350px); 
    background-color: rgba(50, 50, 50, 0.6); 
    padding: 20px; 
    } 

Odpowiedz

17

Powinien działać (na Chrome/Safari/Firefox/IE9 +): http://jsfiddle.net/GXbJT/

Według Can I Use, Opera nie obsługuje. I sprzedawca specyficzny prefiks jest nadal wymagane dla przeglądarek opartych na silniku WebKit:

left:-webkit-calc(100% - 350px); 
left:-moz-calc(100% - 350px); 
left:calc(100% - 350px); 
+0

Wstawianie w -webkit-calc załatwiło sprawę! Dzięki – Marcel

-3

Zmieniłem właściwość lewy do szerokości, po prostu sprawdzić.

#login5 { 
    position: absolute; 
    width: 260px; 
    width: calc(100% - 350px); 
    background-color: rgba(50, 50, 50, 0.6); 
    padding: 20px; 
    } 
+0

Niestety - co masz na myśli? Próbuję ustawić właściwość LEFT - nie szerokość dwa razy ??? – Marcel

+0

ok, sprawdź to łącze. pomoże ci to rozwiązać twój problem. https://developer.mozilla.org/en-US/docs/CSS/calc –

0

testu z:

transform: translateX(25px); 

i przenieść znacznik w prawo lub

transform: translateX(-25px); 

i cię przesuń się w lewo.

Powiązane problemy