栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何同时使瓷砖居中和左对齐

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何同时使瓷砖居中和左对齐

FWIW:现在是2017年,网格布局模块可以立即使用(prependemo)。如果浏览器支持适合您,请使用grid。如果没有,请继续阅读…。


正如@ Skadi2k3的答案中所提到的,使用CSS最好的方法是进行一系列媒体查询。

话虽如此,如果您使用的是诸如LESS之类的预处理器-这并不是一件困难或容易出错的任务。(尽管,是的,CSS仍然很长很丑)

@item-width:100px;@item-height:100px;@margin: 5px;@min-cols:2;@max-cols:12; //set an upper limit of how may columns you want to write the media queries for.loopingClass (@index-width) when (@index-width <= @item-width * @max-cols) {    @media (min-width:@index-width) {        #content{ width: @index-width;        }    }    .loopingClass(@index-width + @item-width);}.loopingClass (@item-width * @min-cols);

上面的mixin将以以下形式吐出一系列媒体查询:

@media (min-width: 200px) {  #content {    width: 200px;  }}@media (min-width: 300px) {  #content {    width: 300px;  }}@media (min-width: 400px) {  #content {    width: 400px;  }}...@media (min-width: 1200px) {  #content {    width: 1200px;  }}

因此,使用一个简单的标记,例如:

<ul id="content">    <li ></li>    <li ></li>    ...    <li ></li></ul>

剩下的CSS(少):

 #content {    margin:0 auto;    overflow: auto;    min-width: @min-cols * @item-width;    max-width: @max-cols * @item-width;    display: block;    list-style:none;    background: aqua;}.box {    float: left;    height: @item-height - 2 *@margin;    width: @item-width - 2*@margin;    margin:@margin;    background-color:blue;}

…您将获得理想的结果。

…而且自定义布局非常容易:

我需要做的就是根据自己的需要更改在LESS mixin中使用的变量-得到的确切布局。

假设我有300px X 100px的项目,最少2列,最多6列,边距为15px-我只是像这样修改变量:

@item-width:300px;@item-height:100px;@margin: 15px;@min-cols:2;@max-cols:6;

…瞧,我得到了这个CODEPEN



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/416193.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号