Pregunta

i want to change below :before css pseudo element's top value via javascript or jQuery dynamically ... how can i do it?

#buble{

height:70px;
width:980px;
background-color:#bce5a5;
display:none;
-moz-border-radius:5px;
-webkit-border-radius:5px;
border-radius:5px;
box-shadow:0px 0px 4px #dadada;
text-indent:35px;
color:#4a8f44;
font-weight:bold;
font-size:14pt;

       }

#buble:before{

content:"";           
display:block;
position:absolute;
top:77px; /* value = - border-top-width - border-bottom-width */
left:555px; /* controls horizontal position */
border-width:11px 7px 0px; /* vary these values to change the angle of the vertex */
border-style:solid;
border-color:#bce5a5 transparent;
width:0;
height:0;
}
¿Fue útil?

Solución

As per my knowledge you can not modify pseudo style directly, but you can insert the CSS to the head portion of the DOM by this way,

jQuery

$( "div" ).click(function() {

  $('<style>p:before{top:10px}</style>').appendTo('head');

});

Check this Demo jsFiddle

Otros consejos

With jQuery you need to append style in the head:

$('<style>#buble:before{top: 50px}</style>').appendTo('head');

see more

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top