问题:从列表中每行的最后一个元素删除边距,即使在每行的元素数量随屏幕大小动态变化。
挑战:传统的 CSS 边距去除技术,例如 :last-child { margin-right: 0 },只能解决最终的问题
解决方案:
概念: 将负边距应用于父级元素来偏移子元素的边距。
示例:
<code class="css">ul { margin-left: -5px; margin-right: -5px; } li { margin-left: 5px; margin-right: 5px; }</code>
概念: 使用媒体查询根据每行的元素数量定位每行的最后一个元素。
示例:
<code class="css">@media (min-width: 400px) and (max-width: 499px) { li:nth-child(even) { margin-right: 0; border-right: none; } } @media (min-width: 500px) and (max-width: 599px) { li:nth-child(3n+3) { margin-right: 0; border-right: none; } } @media (min-width: 600px) and (max-width: 799px) { li:nth-child(4n+4) { margin-right: 0; border-right: none; } }</code>
优点:
缺点:
选择: 最佳解决方案取决于具体的设计要求和灵活性。负边距更简单,而媒体查询提供更多控制。
以上是如何动态删除行中最后一个元素的边距?的详细内容。更多信息请关注PHP中文网其他相关文章!