纯css没法实现,除非你的元素宽度完全写死,那样的话会有很多问题,还是用js来实现吧,我写的这个需要引入jquery
<div id="main"><p class="tocenterRight">哥哥</p>
<p class="tocenterRight">你哥哥</p>
<p class="tocenterRight">你的大哥哥</p>
</div>
<script src="jquery-3.2.1.min.js" type="application/javascript"></script>
<script>
$(document).ready(function(){
//传入type参数center-right 或者left-right 可以传入以后看下效果,第二个参数是要做对其的类名,自己测试一下。
textAlign("center-right",".tocenterRight")
})
var textAlign = function(type,classname){
var o = $(classname)
var maxwidth = 0
switch (type){
case "center-right" :
$(o).css("text-align","right")
if(o.length>0){
$(o).css("width",parseInt($($(o).parent()).width()/2))
}else{
console.log("找不到任何对象!")
}
break
case "left-right" :
$(o).css("text-align","right")
if(o.length>0){
for(var i=0i<o.lengthi++){
$(o[i]).css("display","inline")
maxwidth = parseInt($(o[i]).css("width"))>maxwidth ? parseInt($(o[i]).css("width")) : maxwidth
}
$(o).css("display","block")
$(o).css("width",maxwidth)
}else{
console.log("找不到任何对象!")
}
break
default :
break
}
}
</script>
两种对齐的效果看下图:
你的css 样式里 肯定有冲突的定义,比如:<div class="c1"><div class="c2">测试</div></div>如果你在 c1里写了 text-align:center,而在 c2里写了 text-align:left,这样的话,c1里对text-align的设置是不起作用的,只有c2里的才起作用,如果你的浏览器是 i8以上,你可以在预览的时候,按f12,查看网页源代码 然后在源文件 修改样式看效果!