Flex移动布局中单行和双行布局的区别以及使用
这里是单行布局 使用ul>li 来布局
<ul class="local-nav">
<li>
<a href="#">
<span class="local-nav-icon-icon1"></span> 攻略景点
</a>
</li>
<li>
<a href="#">
<span class="local-nav-icon-icon2"></span> 门票玩乐
</a>
</li>
<li>
<a href="#">
<span class="local-nav-icon-icon3"></span> 美食林
</a>
</li>
<li>
<a href="#">
<span class="local-nav-icon-icon4"></span> 周边游
</a>
</li>
<li>
<a href="#">
<span class="local-nav-icon-icon5"></span> 一日游
</a>
</li>
</ul>
CSS样式如下,由于比较懒文字直接加在后面,没有放入标签中。先定义了整体的
.local-nav li [class^="local-nav-icon"]
在li 中类名中以local-nav-icon开头的类写了样式,后在不同的li中换上不同的精灵图。
.local-nav {
display: flex;
height: 64px;
background-color: #fff;
border-radius: 8px;
margin: 3px 4px;
} .local-nav li {
flex: 1;
} .local-nav a {
display: flex;
flex-direction: column;
align-items: center;
font-size: 12px;
} .local-nav li [class^="local-nav-icon"] {
width: 32px;
height: 32px;
margin-top: 8px;
background: url(../images/localnav_bg.png) no-repeat 0 0;
background-size: 32px auto;
} .local-nav li .local-nav-icon-icon2 {
background-position: 0 -32px;
} .local-nav li .local-nav-icon-icon3 {
background-position: 0 -64px;
} .local-nav li .local-nav-icon-icon4 {
background-position: 0 -96px;
} .local-nav li .local-nav-icon-icon5 {
background-position: 0 -128px;
}
在双行中布局中,下面给出一个li的写法,其他li相同。
<ul class="subnav-entry">
<li>
<a href="#" title="自由行">
<span class="subnav-entry-icon1"></span>
<span>自由行</span>
</a>
</li>
CSS样式如下
.subnav-entry {
display: flex;
border-radius: 8px;
margin: 0px 4px;
background-color: #fff;
flex-wrap: wrap;
} .subnav-entry li {
/* flex: 1; */
flex: 20%;
}
这里是flex为20%,既可以让每5个排在一行,设置了换行。每行放不下就会自动换行
.subnav-entry a {
display: flex;
flex-direction: column;
align-items: center;
}
这里采用是以y为主轴,x轴为側轴对齐的方式。
.subnav-entry [class^="subnav-entry-icon"] {
width: 28px;
height: 28px;
margin-top: 4px;
background: url(../images/subnav-bg.png) no-repeat;
background-size: 28px auto;
} .subnav-entry-icon2 {
background: url(../images/subnav-bg.png) no-repeat;
background-size: 28px auto;
}
上面的方法是比较容易理解和记忆的方式来做
Flex移动布局中单行和双行布局的区别以及使用的更多相关文章
- mybatis mapper xml文件配置resultmap时,id行和result行有什么区别?
mybatis mapper xml文件配置resultmap时,id行和result行有什么区别? <resultMap id = "CashInvoiceMap" typ ...
- CSS开发技巧(四):解决flex多行布局的行间距异常、子元素高度拉伸问题
在使用flex布局时,若出现换行,有两种较为特殊的现象是值得我们研究的: 子元素高度被拉伸,其实际高度大于它的内容高度. 各行子元素之间的行间距过大,甚至我们根本没有给子元素设置margin. 现在我 ...
- 2021年3月-第02阶段-前端基础-Flex 伸缩布局-移动WEB开发_flex布局
移动web开发--flex布局 1.0 传统布局和flex布局对比 1.1 传统布局 兼容性好 布局繁琐 局限性,不能再移动端很好的布局 1.2 flex布局 操作方便,布局极其简单,移动端使用比较广 ...
- flex布局帮助你快速实现布局
flex布局可以帮我们快速布局一些区块,实现你想要的效果,不用再去float,position之类的.我们在布局网页的时候很多时候都是一些特殊布局,flex就能帮我快速去布局,不需要去定位. 任何一个 ...
- iOS masonry九宫格 单行 多行布局
Masonry是个好东西,在当前尺寸各异的iOS开发适配中发挥着至关重要的作用,由于项目中Masonry布局用的比较多,对于UI布局也有了一些自己的理解,经常会有人问道Masonry布局九宫格要怎么布 ...
- * CSS 视觉格式化(基本框、包含块、盒模型、水平格式化、垂直格式化、行布局、em框、内容区、行间距、行内框、行框)
前言 CSS视觉格式化这个词可能比较陌生,但说起盒模型可能就恍然大悟了.实际上,盒模型只是CSS视觉格式化的一部分.视觉格式化分为块级和行内两种处理方式.理解视觉格式化,可以确定得到的效果是应该显示的 ...
- 前端-带header和footer的双栏布局
目标是实现如上图带header和footer的双栏布局,其中右侧sidebar是固定宽度,左侧content是自适应: https://www.zybuluo.com/dengzhirong/note ...
- css,对包含有子元素的元素进行flex后,会影响原有的布局。如何后续处理
对包含有子元素的元素进行flex后,会影响原有的布局. 例如设置两个div,第一个div包含一个img(图片),第二个div包含多个p元素(对前面的img的说明).如下图 1:当对着两个两个div进行 ...
- css常见的各种布局上(两列布局)
常见的布局上(两列布局) 1.常见的两列布局 1.1左边固定,右边自适应,左边宽度已知,右边默认占满整行,使用left 左浮动,右边不浮动,设置margin-left:左侧宽度 <style&g ...
随机推荐
- 容器技术之Docker资源限制
上一篇我们聊到了docker容器的单机编排工具docker-compose的简单使用,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/13121678.html: ...
- Jmeter基础002----Jmeter简单使用
一.Jmeter概述 1.概述 JMeter是Apache公司使用JAVA开发的一款开源测试工具,它的功能强大.高效,可以模拟一些高并发或多次循环等测试场景,使用方便灵活. 2.使用 安装配置java ...
- 3.尚硅谷_MyBatis_HelloWorld.avi
CREATE TABLE `tbl_employee` ( `id` int(11) NOT NULL AUTO_INCREMENT, `last_name` varchar(255) DEFAULT ...
- Docker部署Python项目
简介 软件开发最大的麻烦事之一就是环境配置,操作系统设置,各种库和组件的安装.只有它们都正确,软件才能运行.如果从一种操作系统里面运行另一种操作系统,通常我们采取的策略就是引入虚拟机,比如在 Wind ...
- openstack Rocky 社区版部署1.4 安装数据库
在控制节点安装mariadb,也可以单独服务器安装数据库,假如多个控制节点就在第一台安装数据库,计算节点不需要安装. 1 安装mariadb相关安装包. yum install mariadb mar ...
- dart快速入门教程 (2)
2.变量和数据类型 2.1.变量和常量 变量通俗的说就是可以变化的量,作用就是用来存储数据,你可以把一个变量看作是一个水果篮,里面可以装苹果.梨.香蕉等,常量就是一个固定的值,和变量是相对的,变量可以 ...
- django项目常见报错集
1.mysqlclient 目前不支持高版本python3 django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or new ...
- Python-使用tkinter实现的Django服务进程管理工具
import tkinter import subprocess import os import time import re import sys from tkinter import Labe ...
- Python3-在windows快速运行一个简单的本地 HTTP 服务器
1.打开控制台2.python -m http.server
- rhel7 编写CMakeList.txt编译运行MySQL官方例子代码
注:若需要参考rhel7上安装MySQL 请 点击此处 1.下面MySQL链接库版本用到了boost(若需要请到官网下载最新链接库和文档和C++连接数据库操作示例) Red Hat Enterpris ...