html 跨越多行,html – 跨越多行列的动态网格图块

这篇博客探讨了如何利用CSS中的绝对定位解决页面元素浮动造成的布局问题。通过添加特定的选择器和规则,可以将某些元素从文档流中分离,避免对其他列表项的垂直空间造成影响。内容涉及到不同类别的列和行的组合,以及如何根据页面元素的大小调整它们的位置。此外,还讨论了如何使用`:not()`选择器和jQuery来实现兼容性更好的解决方案。
摘要由CSDN通过智能技术生成

你将使用浮动遇到这个问题.但是,您可以更改该页面上一个元素的位置,并且所有内容都会像您期望的那样落实到位.

将以下内容添加到CSS中:

#homepage-grid li#tile10 {

position: absolute;

top: 342px;

}

这会将违规元素从文档流中分离出来,从而消除了对应用于其余列表项的“float”分配给它的垂直空间的保留.最后一项是浮动的,所以不会与绝对定位的瓷砖重叠.

编辑

用更新的小提琴做出的假设:

> sizex1,sizey1,sizex2等……是常量值

>这些内容右侧的内容将被正确浮动(这将对左浮动项目反向运行,但这些情况似乎不会成为问题,因为如果左侧的元素,右侧的项目将正常浮动垂直放大)

>用户可以覆盖样式,或在布局创建时应用样式这主要是为了控制位置:绝对不必要地应用于某些元素

这是做什么的:

此CSS根据具有某些类的兄弟姐妹的存在设置不同的规则.这就是sizex1 sizex2 sizey1和sizey2值的恒定性很重要的原因.

CSS:

#homepage-grid li.col1:not(.row1):not(.row2) {

position: absolute;

}

#homepage-grid li.col1.sizey1.row1 ~ li.col1.row2 { /* The first column of the first row has a sizey of 1 */

top: 172px;

}

#homepage-grid li.col1.sizey2.row1 ~ li.col1.row2{ /* The first column of the first row has a sizey of 2 */

top: 342px;

}

#homepage-grid li.col1.sizey1.row1 ~ li.col1.sizey1.row2 ~ li.col1.row3 { /* The first column of the first row has a sizey of 1 and the first column of the first row has a sizey of 1 */

top: 344px;

}

#homepage-grid li.col1.sizey2.row1 ~ li.col1.sizey2.row2 ~ li.col1.row3{ /* The first column of the first row has a sizey of 2 and the first column of the second row has a sizey of 2 */

top: 684px;

}

#homepage-grid li.col1.sizey2.row1 ~ li.col1.sizey1.row2 ~ li.col1.row3,#homepage-grid li.col1.sizey1.row1 ~ li.col1.sizey2.row2 ~ li.col1.row3 { /* The first column of the first row has a sizey of 2 and the first column of the second row has a sizey of 1,or vice versa */

top: 514px;

}

理想情况下,您需要在页面传递时设置#homepage_grid li.col1值.这样,您可以选择哪些切片从文档流中分离出来以保持正确的间距.我通常使用:not()选择器完成此操作,但如果您正在寻找较旧的浏览器兼容性,则可以轻松使用覆盖.

例:

#homepage-grid li.col1:not(.row1):not(.row2) {

position: absolute;

}

*以上只会破坏文档流程中的第3行和更多行.

#homepage-grid li.col1 {

position: absolute;

}

#homepage-grid li.col1.row1,#homepage-grid li.col1.row2 {

position: static;

}

这完成了与上面相同的事情,但更加冗长.但是,它将在不太符合标准的浏览器中正确呈现.

编辑2

为了清楚起见,这是一个使用jQuery在页面加载时将相应元素设置为静态的示例.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值