今天是猴年的第一天班,也是新的起点。分享一个如何用css实现我们在工作中常见的两列布局:1.左侧固定宽度,高度自适应右侧;2.左侧宽度高度固定,右侧自适应宽高;3.左侧、右侧固定宽,中间自适应。
1.左侧固定宽度,高度自适应右侧
- 效果图
pic1.png
pic2.png
- html+css
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>左侧固定宽,自适应右侧高度</title><style> .main{ position: relative; color: #fff; } .left{ position: absolute; top: 0; left: 0; bottom: 0; width: 300px; background: #f00; } .right{ height: 200px; margin-left: 300px; background: #000; }</style></head><body><div class="main"> <div class="left">left</div> <div class="right">right</div></div></body></html>
你看代码,左侧确实没有定高,右侧也没有定宽。
2.左侧宽度高度固定,右侧自适应宽高
- 效果图
pic3.png
- html+css
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>左侧宽度高度固定,右侧自适应宽高</title> <style> .main{ overflow: hidden; color: #fff; } .left{ float: left; width: 300px; height: 200px; background: #f00; } .right{ margin-left: -300px; padding-bottom: 9999px; margin-bottom: -9999px; background: #000; } </style></head><body> <div class="main"> <div class="left">left</div> <div class="right">right</div> </div></body></html>
你看代码,左侧确实定了宽高,右侧宽高都没有定。
3.左侧、右侧固定宽,中间自适应
- 效果图
pic4.png
pic5.png
- html+css
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>左侧、右侧固定宽,中间自适应</title> <style> .fl{ float: left; } .main{ color: #fff; } .center{ background: #9A0069; width: 100%; height: 300px; } .center .content{ padding: 0 100px; } .left{ width: 100px; height: 300px; margin-left: -100%; background: #009A61; } .right{ width: 200px; height: 300px; background: #00529A; margin-left: -200px; } </style></head><body> <div class="main"> <div class="center fl"> <div class="content"> center </div> </div> <div class="left fl">left</div> <div class="right fl">right</div> </div></body></html>
你看代码,左侧、右侧都固定了宽度,中间宽度自适应了。关键点是:float:left配合margin-left使用。同时center的div写在了左右的前面,更加符合语义化。
但我们这里高度是写死的,如何实现既保持“左右固定宽,中间自适应”,又能够以一边的高度为基准,其他两个高度自适应呢? 你可以参考1,2的代码来实现,这里就不写了。

The article discusses the HTML <datalist> element, which enhances forms by providing autocomplete suggestions, improving user experience and reducing errors.Character count: 159

The article discusses the HTML <progress> element, its purpose, styling, and differences from the <meter> element. The main focus is on using <progress> for task completion and <meter> for stati

The article discusses the HTML <meter> element, used for displaying scalar or fractional values within a range, and its common applications in web development. It differentiates <meter> from <progress> and ex

The article discusses the <iframe> tag's purpose in embedding external content into webpages, its common uses, security risks, and alternatives like object tags and APIs.

The article discusses the viewport meta tag, essential for responsive web design on mobile devices. It explains how proper use ensures optimal content scaling and user interaction, while misuse can lead to design and accessibility issues.

The article discusses using HTML5 form validation attributes like required, pattern, min, max, and length limits to validate user input directly in the browser.

Article discusses best practices for ensuring HTML5 cross-browser compatibility, focusing on feature detection, progressive enhancement, and testing methods.

This article explains the HTML5 <time> element for semantic date/time representation. It emphasizes the importance of the datetime attribute for machine readability (ISO 8601 format) alongside human-readable text, boosting accessibilit


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Zend Studio 13.0.1
Powerful PHP integrated development environment

SublimeText3 English version
Recommended: Win version, supports code prompts!

Dreamweaver Mac version
Visual web development tools

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools