html - css布局的设置问题
怪我咯
怪我咯 2017-04-17 13:29:01
0
3
810

1.想要实现一种布局 如果p的数量小于或等于2则里面的内容是水平居中,如果内容超过了2个 则第三个只显示一半通过滚动来显示全内容。 这三种情况想用共通的css来实现 现在我的想法是用flex方式 但是没整出来。
情况1:

  • 此处放图片

  • 此处放图片

  • 此处放图片

情况2:

  • 此处放图片

  • 此处放图片

情况3:

  • 此处放图片

现在样式是这样写的
ul{

display:flex; align-items: center; } li{flex: 1;flex-shrink: 1;}
怪我咯
怪我咯

走同样的路,发现不同的人生

모든 응답 (3)
洪涛

如果我没有理解错的话,您的意思是第三个开始的样式和前两个不一样,那么就可以使用这个选择器:

li{ 前两个的样式 } li:nth-child(2){ 第三个的样式 }
    黄舟

    这种问题只靠一个flex是无法解决的。
    可以分别设置三种样式,通过js判断p的个数对ul添加不同的class。

      大家讲道理
      ul.flexul{ display:flex; //不换行居中 align-items: center; flex-wrap:no-wrap; overflow:scroll; } //获取li的个数 var linumber= $(".flexul li").length; if($(".flexul li:eq(2)")){ var lithreewidth=$(".flexul li:eq(2)").offsetWidth; } if(linumber>2){ $(".flexul").css(" align-items","flex-start"); $(".flexul li:eq(0)").css("margin-left",lithreewidth/2+"px"); }
        최신 다운로드
        더>
        웹 효과
        웹사이트 소스 코드
        웹사이트 자료
        프론트엔드 템플릿
        회사 소개 부인 성명 Sitemap
        PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!