<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Flex布局示例</title><style>.container {display: flex;justify-content:space-around;align-items: center;height: 300px;border: 2px solid #333;flex-direction:row;flex-wrap: nowrap;}.item {width: 200px;height: 100px;background-color: #f0f0f0;border: 1px solid #ccc;display: flex;justify-content:center;align-items: center;font-size: 20px;}</style>
</head>
<body><section class="container-section"><div class="container"><div class="item">1</div><div class="item">2</div><div class="item">3</div></div><h2>Flex布局应用场景</h2><p>Flex布局适用于需要在不同屏幕尺寸上保持良好布局的场景,例如:</p><ul><li>响应式设计:在不同设备上自动调整元素的排列方式。</li><li>导航栏:创建水平或垂直的导航菜单。</li><li>卡片布局:在页面上均匀分布卡片元素。</li></ul><h2>Flex布局优缺点</h2><h3>优点</h3><ul><li>简化布局代码:无需使用浮动或定位来实现复杂的布局。</li><li>自动调整大小:子元素可以根据容器大小自动调整。</li><li>对齐方式灵活:可以轻松控制子元素的对齐方式。</li></ul><h3>缺点</h3><ul><li>浏览器兼容性:虽然现代浏览器普遍支持Flexbox,但旧版浏览器可能存在兼容性问题。</li><li>学习曲线:对于不熟悉Flexbox的开发者,需要一些时间来掌握其工作原理。</li><li>复杂布局限制:对于非常复杂的布局,Flexbox可能不如Grid布局灵活。</li></ul></section><h1>响应式布局demo如下</h1><section class="container-responsive"><style>.responsive-container {display: flex;flex-wrap: wrap; justify-content: space-around;border: 2px solid #333;padding: 10px;}.responsive-item {width: calc(25% - 40px); margin: 10px;background-color: #f0f0f0;border: 1px solid #ccc;display: flex;justify-content: center;align-items: center;font-size: 20px;}@media (max-width: 960px) {.responsive-item {width: calc(50% - 40px); }}@media (max-width: 480px) {.responsive-item {width: 100%; }}</style><div class="responsive-container"><div class="responsive-item">responsive Item 1</div><div class="responsive-item">responsive Item 2</div><div class="responsive-item">responsive Item 3</div><div class="responsive-item">responsive Item 4</div></div></section><h1>导航栏demo如下</h1><selection class="nav"><style>.navbar {display: flex;justify-content: space-around;background-color: #333;padding: 10px;}.nav-item {color: white;font-size: 18px;cursor: pointer;}.nav-item:hover {color: #ffcc00;}</style><nav class="navbar"><div class="nav-item">Home</div><div class="nav-item">About</div><div class="nav-item">Services</div><div class="nav-item">Contact</div></nav></selection><h1>卡片布局demo如下</h1><section class="card"><style>.card-container {display: flex;justify-content: space-around;flex-wrap: wrap;padding: 10px;}.card {width: calc(33.333% - 20px);margin: 10px;background-color: #f0f0f0;border: 1px solid #ccc;padding: 20px;box-shadow: 2px 2px 12px rgba(0, 0, 0, 0.1);}.card h3 {margin-top: 0;}.card p {margin-bottom: 0;}</style><div class="card-container"><div class="card"><h3>Card 1</h3><p>This is the content of card 1.</p></div><div class="card"><h3>Card 2</h3><p>This is the content of card 2.</p></div><div class="card"><h3>Card 3</h3><p>This is the content of card 3.</p></div></div></section>
</body>
</html>