当前位置: 首页 > news >正文

html格子切换效果图,(HTML)关于格子流布局方案可以如此设计

该方案是兼容ie9及以下的,当然如果你的开发需求不需要兼容IE的,就像vue.js3一样完全放弃IE辣鸡浏览器的就不需要这样做,可以直接使用flex(弹性布局),简单舒服。

描述一下使用情景

当拿到一张方格平铺的设计图,第一个想法应该是想到table标签,或flex布局。

9bf381068f3a

情景

布局结构

...

说明

wrap用于决定layer整体的对齐。

比如水平方向的位置:

居左

9bf381068f3a

居左.png

.wrap{

width:190px;

text-align:left;

}

.layer{

display:inline-block;

}

居右

9bf381068f3a

居右.png

.wrap{

width:190px;

text-align:right;

}

.layer{

display:inline-block;

}

居中

9bf381068f3a

居中.png

.wrap{

width:190px;

text-align:center;

}

.layer{

display:inline-block;

}

layer用于决定内容的对齐方式

其原理就是利用文字的text-align的属性(inline元素和inline-block元素生效),通过限制布局的宽达到每行多少块元素(注意元素需要为inline-block,width和height才有效)。

比如:

靠左

9bf381068f3a

left.gif

靠右

9bf381068f3a

right.gif

居中

9bf381068f3a

center.gif

item就是内容项,注意这里要求是inline-block

当item为inline-block可以拥有盒子模型的属性且可以使用text-align和vertical-align的属性(用于定height的垂直居中)

案例代码展示

项目结构

cellFlowLayout

│ index.html

└───src

├───gif

│ center.gif

│ left.gif

│ right.gif

└───img

item1.jpg

item2.jpg

item3.jpg

item4.jpg

item5.jpg

item6.jpg

item7.jpg

主要代码

格子流布局方案

.wrap {

background: #D7FFF1;

width: 1080px;

margin: 0 auto;

text-align: center;

}

.layer {

display: inline-block;

background: #77AF9C;

width: 1000px;

margin-bottom: 20px;

}

.left {

text-align: left;

}

.right {

text-align: right;

}

.center {

text-align: center;

}

.item {

display: inline-block;

margin: 10px;

width: 180px;

height: 135px;

/*下面的是骚气属性*/

border-radius: 4px;

transition: all 300ms ease 0ms;

}

/*骚气属性和案例无关*/

.item:hover{

transition: all 300ms ease 0ms;

transform: translateY(-5px);

box-shadow: 0 2px 6px 2px rgba(0,0,0,0.8);

}

h1 {

text-align: center;

color: #285943;

}

h2 {

padding: 10px 0 0 20px;

color: #285943;

}

格子流布局方案

居左

居右

居中

function addClassName(node,name) {

// 为了兼容ie9及9以下:老版本的IE的DOM Element和window是没有hasOwnProperty方法的。

if(Object.prototype.hasOwnProperty.call(node,'classList')){

node.classList.add(name); // node.classList.add该方法ie 9及9以下不支持

}else {

node.className += node.className.length>0?' '+name:name;

}

}

function createImage(name, imageInfo) {

var img = document.createElement('img');

addClassName(img,'item');

img.src = imageInfo.prefix + name + imageInfo.suffix;

return img;

}

function instanceLayer(id,num=7) {

var ul = document.getElementById(id);

var total = num;

var imgInfo = {

prefix: './src/img/item',

suffix: '.jpg'

};

for (var i = 0; i < num; i++) {

ul.appendChild(createImage(i + 1, imgInfo));

}

}

function initPage() {

instanceLayer('content');

instanceLayer('contentRight');

instanceLayer('contentCenter');

}

document.body.onload = initPage;

项目源码

相关文章:

  • android密码设成星号,将EditText密码掩码字符更改为星号(*)
  • 江西赣州信丰2021高考成绩查询,2021上半年江西信丰县教资面试成绩查询入口
  • 计算机应用bsp什么意思,bsp是什么
  • 指利用计算机技术实现对文本篇章的理解,【人工智能课|人工智能自然语言处理技术是什么】- 环球网校...
  • 微型计算机结构认识,认识《微机原理》
  • 土木工程计算机仿真学科未来前景,土木工程学院土木工程计算机仿真2010级学历教育硕士--培养方案...
  • 本科会计大二转学美国学计算机,国内本科生可以转学去美国:最佳时机在大二!...
  • 分级列表html,CSS分级属性 二
  • html计算机之间的距离,【百思不得其解~求助】html网页编程:求输入的两个数之间的所有质...
  • 计算机游戏7步变28,亲子游戏100种
  • 我的未来规划作文计算机,我的未来规划500字作文
  • 我们一起学猫叫歌曲计算机,我们一起学猫叫一起喵喵喵喵喵是什么歌
  • 池州学院期末计算机考试题,池州学院数据库期末模试卷1.doc
  • 抖音计算机音乐你要我,抖音我要记住你的样子是什么歌
  • 计算机维修工是技工嘛,第二届全国技工院校技能大赛计算机维修工技术点评.doc...
  • IE9 : DOM Exception: INVALID_CHARACTER_ERR (5)
  • 【162天】黑马程序员27天视频学习笔记【Day02-上】
  • ES6系统学习----从Apollo Client看解构赋值
  • java B2B2C 源码多租户电子商城系统-Kafka基本使用介绍
  • JS正则表达式精简教程(JavaScript RegExp 对象)
  • JS专题之继承
  • Mysql数据库的条件查询语句
  • Redis的resp协议
  • swift基础之_对象 实例方法 对象方法。
  • TiDB 源码阅读系列文章(十)Chunk 和执行框架简介
  • -- 查询加强-- 使用如何where子句进行筛选,% _ like的使用
  • 从零开始学习部署
  • 如何实现 font-size 的响应式
  • 一起参Ember.js讨论、问答社区。
  • 一文看透浏览器架构
  • CMake 入门1/5:基于阿里云 ECS搭建体验环境
  • 带你开发类似Pokemon Go的AR游戏
  • 第二十章:异步和文件I/O.(二十三)
  • 蚂蚁金服CTO程立:真正的技术革命才刚刚开始
  • 如何用纯 CSS 创作一个菱形 loader 动画
  • 说说我为什么看好Spring Cloud Alibaba
  • 我们雇佣了一只大猴子...
  • ​二进制运算符:(与运算)、|(或运算)、~(取反运算)、^(异或运算)、位移运算符​
  • # Swust 12th acm 邀请赛# [ A ] A+B problem [题解]
  • ###项目技术发展史
  • #我与Java虚拟机的故事#连载09:面试大厂逃不过的JVM
  • ( )的作用是将计算机中的信息传送给用户,计算机应用基础 吉大15春学期《计算机应用基础》在线作业二及答案...
  • (超简单)使用vuepress搭建自己的博客并部署到github pages上
  • (四)Android布局类型(线性布局LinearLayout)
  • (学习日记)2024.02.29:UCOSIII第二节
  • (原创)Stanford Machine Learning (by Andrew NG) --- (week 9) Anomaly DetectionRecommender Systems...
  • (转)MVC3 类型“System.Web.Mvc.ModelClientValidationRule”同时存在
  • .cn根服务器被攻击之后
  • .net core 调用c dll_用C++生成一个简单的DLL文件VS2008
  • .net core 源码_ASP.NET Core之Identity源码学习
  • .NET Framework杂记
  • .Net Web项目创建比较不错的参考文章
  • .NET 使用配置文件
  • .NET 指南:抽象化实现的基类
  • .NET 中让 Task 支持带超时的异步等待