加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

html – 带CSS的钻石形状布局

发布时间:2020-12-14 19:30:10 所属栏目:资源 来源:网络整理
导读:我试图以钻石形式布置无序列表. 我不知道如何做到这一点,而没有添加hacky div的全部. 我宁愿在语义上保持一个干净的ul. 代码示例(我可以添加id,这没有问题.) ul liitem 1/li liitem 2/li liitem 3/li liitem 4/li/ul 我希望它看起来像这样: 也许这样的事情
我试图以钻石形式布置无序列表.

我不知道如何做到这一点,而没有添加hacky< div>的全部.

我宁愿在语义上保持一个干净的ul.

代码示例(我可以添加id,这没有问题.)

<ul>
    <li>item 1</li>
    <li>item 2</li>
    <li>item 3</li>
    <li>item 4</li>
</ul>

我希望它看起来像这样:

也许这样的事情可以通过显示:flex来实现?也许显示:table-cell?我已经尝试了一切,迄今为止,我无法弄清楚.

解决方法

可以通过flexbox实现布局:
ul {
  display: flex;
  flex-direction: column;                 /* 1 */
  flex-wrap: wrap;                        /* 1 */
  height: 200px;                          /* 2 */
  list-style: none;
  padding: 0;                             /* 3 */
}

li {
  flex: 0 0 100%;                         /* 4 */
  display: flex;                      
  justify-content: center;                /* 5 */
  align-items: center;                    /* 5 */
  background-color: lightyellow;
}

li:not(:first-child):not(:last-child) {   /* 6 */
  flex-basis: 50%;
}

span {
  height: 50px;
  width: 100px;
  background-color: lightgreen;
  border: 1px solid black;
  display: flex;                         /* 7 */
  justify-content: center;               /* 7 */
  align-items: center;                   /* 7 */
}
* { box-sizing: border-box; }
/* grid lines
ul {  border: 1px dashed black; }
li {  border: 1px solid red;  }
*/
<ul>
  <li><span>item 1</span></li>
  <li><span>item 2</span></li>
  <li><span>item 3</span></li>
  <li><span>item 4</span></li>
</ul>

jsFiddle

笔记:

>将容器设置为列换行.>对于Flex项目来知道要包装的位置,必须在容器上定义高度.>删除ul默认填充.>使列表项消耗所有列空间.>中心横向垂直.>使第二和第三个列表项消耗半列空间,因此两者都适合一列.>垂直和水平中心文本.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读