【四二学堂】纯css实现图片瀑布流布局

先看一下效果图:

 

 

瀑布流,又称瀑布流式布局。是比较流行的一种网站页面布局,视觉表现为参差不齐的多栏布局,随着页面滚动条向下滚动,这种布局还会不断加载数据块并附加至当前尾部。最早采用此布局的网站是Pinterest,逐渐在国内流行开来。国内大多数清新站基本为这类风格。

 

在css中,早已实现了瀑布流布局,这里用css做的一个瀑布流案例。废话不多说,直接上代码。

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>瀑布流模型</title>

	<style type="text/css">

		.masonry {
			-moz-column-count:3; /* 火狐 */
			-webkit-column-count:3; /* Safari 和 谷歌 */
			column-count:3;
			-moz-column-gap: 1em;
			-webkit-column-gap: 1em;
			column-gap: 1em;
			width: 80%;
			margin:1em auto;
		}
		.item {
			padding: 1em;
			margin-bottom: 1em;
			-moz-page-break-inside: avoid;
			-webkit-column-break-inside: avoid;
			break-inside: avoid;
			background: #b5ffa1;
		}

        //适应屏幕
		@media screen and (max-width: 800px) {
			.masonry {
				column-count: 2; // two columns on larger phones
			}
		}
		@media screen and (max-width: 500px) {
			.masonry {
				column-count: 1; // two columns on larger phones
			}
		}
	</style>

</head>

<body>





    <-- 这里是使用c标签循环一个图片列表,假设后台数据已经写好 -->
	<div class="masonry">
		<c:forEach items="${imgList}" var="other">
			<c:if test="${other != null and other != '' }">
				<div class="item"><img style="width: 100%" src="${other}"/>
				</div>
			</c:if>
		</c:forEach>
	</div>



</div>
</body>
</html>

水平有限,仅供参考。

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个简单的电脑学堂页面布局,使用div和CSS实现: HTML代码: ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>电脑学堂</title> <link rel="stylesheet" href="style.css"> </head> <body> <!-- 头部 --> <header> <div class="logo"> <h1>电脑学堂</h1> </div> <nav> <ul> <li><a href="#">首页</a></li> <li><a href="#">课程</a></li> <li><a href="#">学员作品</a></li> <li><a href="#">关于我们</a></li> </ul> </nav> </header> <!-- 主体内容 --> <main> <!-- 侧边栏 --> <aside> <h2>热门课程</h2> <ul> <li><a href="#">HTML入门</a></li> <li><a href="#">CSS基础</a></li> <li><a href="#">JavaScript进阶</a></li> <li><a href="#">Vue框架</a></li> <li><a href="#">React框架</a></li> </ul> </aside> <!-- 内容区域 --> <section class="content"> <h2>最新课程</h2> <article> <h3>HTML5新特性</h3> <p>HTML5是HTML最新的修订版本。它新增了很多功能,包括语义化标签、多媒体元素、拖放API、Canvas绘图等。本课程将介绍HTML5的新特性,帮助您更好地掌握Web开发技术。</p> <a href="#">了解更多</a> </article> <article> <h3>CSS3动画</h3> <p>CSS3是CSS的最新版本,它新增了很多强大的功能,如渐变、阴影、动画等。本课程将介绍CSS3动画的实现原理和使用方法,帮助您创建更为出色的网页效果。</p> <a href="#">了解更多</a> </article> <article> <h3>JavaScript高级编程</h3> <p>JavaScript是一种高级的、动态的编程语言。本课程将介绍JavaScript的高级编程技术,包括闭包、原型、异步编程等。让您成为一名真正的JavaScript高手。</p> <a href="#">了解更多</a> </article> </section> </main> <!-- 底部 --> <footer> <p>电脑学堂 版权所有 © 2022</p> </footer> </body> </html> ``` CSS代码: ```css /* 全局样式 */ * { box-sizing: border-box; margin: 0; padding: 0; } body { font-family: Arial, sans-serif; font-size: 16px; line-height: 1.5; color: #333; } /* 头部样式 */ header { background-color: #f2f2f2; padding: 10px; display: flex; align-items: center; justify-content: space-between; } .logo h1 { font-size: 24px; } nav ul { list-style: none; display: flex; align-items: center; } nav li { margin-right: 20px; } nav a { color: #333; text-decoration: none; } nav a:hover { color: #666; } /* 主体内容样式 */ main { display: flex; flex-wrap: wrap; max-width: 1200px; margin: 0 auto; padding: 20px; } aside { flex: 1; margin-right: 20px; } aside h2 { font-size: 20px; margin-bottom: 10px; } aside ul { list-style: none; } aside li { margin-bottom: 10px; } aside a { color: #333; text-decoration: none; } aside a:hover { color: #666; } .content { flex: 3; } .content h2 { font-size: 24px; margin-bottom: 20px; } .content article { margin-bottom: 20px; } .content article h3 { font-size: 20px; margin-bottom: 10px; } .content article p { margin-bottom: 10px; } .content article a { display: inline-block; padding: 5px 10px; background-color: #333; color: #fff; text-decoration: none; border-radius: 5px; } .content article a:hover { background-color: #666; } /* 底部样式 */ footer { background-color: #333; color: #fff; padding: 10px; text-align: center; } ``` 其中,头部使用flex布局,主体内容使用flex和flex-wrap布局实现,侧边栏和内容区域使用flex属性进行宽度的分配。整体布局简单明了,适合做电脑学堂官网的基础版。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值