javascript - How can I put element in the middle of vertical align? -


i made demo jsfiddle please check.

this show comment slides right side left.
it's shown little bit above middle of vertical align.

how can show right in middle?
please fix , update jsfiddle

javascript

function transition() {          $('.newsticker p').animate({"marginleft":"400px","opacity":".0"}, 600).fadeout(100);         $('.newsticker').append("<p style='margin-left:400px;opacity:0'>hello! test</p>");         $('.newsticker p').animate({"marginleft":"0px","opacity":"1"}, 600);  }  setinterval(transition, 2000); 

css

div.newsticker{     border:1px solid #666666;     width:100%;     height:100px; }  .newsticker p{     padding-left:10px;     padding-right:10px;     float:left;     position:absolute; } 

html

<div class="newsticker">  </div> 

first reset browsers default stylesheet margin or padding by:

* {     padding: 0;     margin: 0; } 

then add line-height: 100px; css declaration .newsticker element:

div.newsticker{     border:1px solid #666666;     width:100%;     height:100px; /* --------  */     line-height: 100px; /*  |  */              /*   ^----------  */ } 

jsfiddle demo

update

by using css, impossible achieve goal. create jquery version, calculates height of dynamic paragraph , set top property middle of parent. in case little change needed in css:

css:

div.newsticker {     position: relative; /* add relative position parent */     overflow: hidden;   /* hide overflow */ }  .newsticker p {     width: 100%;       /* set width of paragraph '100%' or 'inherit' */ } 

javascript/jquery:

var newsticker = $('.newsticker'),     maxheight = newsticker.height();  function transition() {     newsticker.find('p').animate({         marginleft : "400px",         opacity : ".0"     }, 600).fadeout(100);      newsticker.append(         $('<p>').css({             'margin-left' : '400px',             'opacity'     : '0'         // put text in .text() method:         }).text('lorem ipsum dolor sit amet, consectetur adipisicing elit. ipsam suscipit nihil voluptatibus maxime sit quam delectus eaque officiis cumque accusamus velit nesciunt deserunt veniam molestias alias? eaque iste quia non.')     ).find('p').each(function() {         if ($(this).css('top') == 'auto')         $(this).css('top',             (maxheight - $(this).height()) / 2         );     });      newsticker.find('p').animate({"marginleft":"0px","opacity":"1"}, 600); } setinterval(transition, 2000); 

here jsfiddle demo.


Comments

Popular posts from this blog

java - activate/deactivate sonar maven plugin by profile? -

python - TypeError: can only concatenate tuple (not "float") to tuple -

java - What is the difference between String. and String.this. ? -