2015-09-02 3 views
0

Я пытаюсь иметь Div ее переход ширину (увеличить), но я хочу, чтобы расти от центра не в верхнем левом углуширина перехода от центра элемента

HTML

<div id="attach-wrap"> 
     <div id="attach"> 

      ... content ... 

     </div> 
    </div> 

CSS # attach-wrap {min-height: 50px; }

#attach { 
    height: 50px; 
    width: 60%; 
    margin: 0 auto; 
    border-top: 1px solid #000; 
    border-bottom: 1px solid #000; 
    -webkit-transition: height 0.35s ease, width 0.35s ease; 
    -moz-transition: height 0.35s ease, width 0.35s ease; 
    -ms-transition: height 0.35s ease, width 0.35s ease; 
    -o-transition: height 0.35s ease, width 0.35s ease; 
    transition: height 0.35s ease, width 0.35s ease; 
} 

#attach.stick { 
    height: 80px; 
    width: 100%; 
    border-bottom: 1px solid #000; 
    background-color: rgba(250,250,250,1); 
    position: fixed; 
    z-index: 100; 
    top: 0; left: 0; 
    margin: auto; 
} 

«.stick» добавляется, когда выполняются определенные условия и таким образом оживляет его. Все работает отлично, за исключением того, что класс .stick добавляется и анимирует высоту и ширину, это делается слева направо. Я хочу, чтобы он пришел из центра. Он сжимается с центра, когда удаляется класс .stick, не знаю, почему

+0

Я бы рекомендовал использовать HTTP: //codepen.io, чтобы создать полный (неудачный) пример. Это помогает людям возиться с вашим кодом, и вы получите ответ быстрее. – thomasfuchs

+0

попытался сделать это, но, похоже, не может заставить его работать вообще, вот что я пробовал http://codepen.io/anon/pen/jbOeKm – user3550879

ответ

0

Попробуйте удалить position:fixed с #attach.stick. Это должно позволить ему масштабироваться, как вы ожидаете.

JSFiddle (Нажмите, чтобы переключиться)

Если вам требуется position:fixed, всегда дают #attach явный запас, а также анимировать край (Fiddle):

#attach { 
    height: 50px; 
    width: 60%; 
    margin: 0 20%; 
    border-top: 1px solid #000; 
    border-bottom: 1px solid #000; 
    -webkit-transition: margin 0.35s ease, height 0.35s ease, width 0.35s ease; 
    -moz-transition: margin 0.35s ease, height 0.35s ease, width 0.35s ease; 
    -ms-transition: margin 0.35s ease, height 0.35s ease, width 0.35s ease; 
    -o-transition: margin 0.35s ease, height 0.35s ease, width 0.35s ease; 
    transition: margin 0.35s ease, height 0.35s ease, width 0.35s ease; 
} 

#attach.stick { 
    height: 80px; 
    width: 100%; 
    border-bottom: 1px solid #000; 
    background-color: rgba(250, 250, 250, 1); 
    z-index: 100; 
    top: 0; 
    left:0; 
    margin: 0; 
    position:fixed; 
} 
+0

удаление его решит проблему центрирования, ОДНАКО Мне нужно сохранить позицию :исправлено. Я не могу надеть его на #attach, потому что тогда он всегда будет исправлен (удаляется из потока). Мне нужно, чтобы он был регулярным, пока не прокручивался до фиксированного значения до – user3550879

+0

@ user3550879. Думаю, вторая часть моего ответа должна работать для вас если вы положите 'position: fixed' в' # attach.stick'. Я обновил свой ответ, чтобы отразить это. –

+0

, что он делает, не знаю, как, но он – user3550879

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