I have HTML and CSS for testimonial, which is in JSFIDDLE DEMO.The problem here is ":after" content is misplacing in mobile view or it is not properly alligned, i need to align it, so that it is need to be in constant position in mobile view as well as normal view, anyone have some ideas?
<div>
<div class="testi-inno" id="testi-one">
<p>“this place having some text, which is of lorger or amaller size”</p>
</div>
</div>
<div class="testi-img" style="clear:both;">
<img src="" alt=" " width="70" height="70"/>
</div>
<p class="testi-par">name of client</p>
<p class="testi-paras">designation</p>
</div>
css:
.testi-inno p:after {
content: ' ';
position: absolute;
width: 0;
height: 0;
border-right: 20px solid transparent;
border-top: 20px solid #fff;
border-left: 20px solid transparent;
border-bottom: 20px solid transparent;
top: 19%;
left: 42%;
}
.testi-inno{
background:#fff;
margin:10px;
box-shadow: 10px 10px 5px #888888;
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
border-radius: 10px;
}
.testi-inno p{
margin:15px;
margin-bottom:15px !important;
padding-top: 10%;
padding-bottom: 10%;
}
.testi-img img{
background-repeat: no-repeat;
background-position: 50%;
border-radius: 50%;
width: 80px;
height: 80px;
margin-top: 7%;
margin-left: 34%;
}
Simple Solution , Just Use Position Relative in " .testi-inno " Because Position:relative Control Position:absolute
.testi-inno{
background:#fff;
margin:10px;
box-shadow: 10px 10px 5px #888888;
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
border-radius: 10px;
}
In Your Case Your After Value= top: 19%; or left: 42%; Work According to Window Walls , but After you use Position:relative, then top :19% or left :42% work accroding to your .testi-inno Div , So It's work Properly on Mobile Device. and Secound mistake is If you need to center the arrow use left : 50%; not 42 % .
.testi-inno p:after {
content: ' ';
position: absolute;
width: 0;
height: 0;
border-right: 20px solid transparent;
border-top: 20px solid #fff;
border-left: 20px solid transparent;
border-bottom: 20px solid transparent;
bottom: 0%;
left: 50%;
margin:0 0 0 -20px;
}
Just check my JSFIDDLE DEMO -