首页 web前端 html教程 CSS布局??左定宽度右自适应宽度并且等高布局_html/css_WEB-ITnose

CSS布局??左定宽度右自适应宽度并且等高布局_html/css_WEB-ITnose

Jun 24, 2016 pm 12:34 PM

方法一:

别的不多说,直接上代码,或者参考在线DEMO,下面所有的DEMO都有HTML和CSS代码,感兴趣的同学自己慢慢看吧。

HTML Markup

		<div id="container">			<div id="wrapper">				<div id="sidebar">Left Sidebar</div>				<div id="main">Main Content</div>			</div>		</div>	
登录后复制

CSS Code

		<style type="text/css">			* { margin: 0; padding: 0; }			html { height: auto; }			body { margin: 0; padding: 0; }			#container { background: #ffe3a6; }			#wrapper { display: inline-block; border-left: 200px solid #d4c376;/*==此值等于左边栏的宽度值==*/ position: relative; vertical-align: bottom; }			#sidebar { float: left; width: 200px; margin-left: -200px;/*==此值等于左边栏的宽度值==*/ position: relative; }			#main { float: left; }				#maing,			#sidebar{ min-height: 200px; height: auto !important; height: 200px; }		</style>	
登录后复制

查看在线DEMO。

方法二

HTML Markup

		<div id="container">			<div id="left" class="aside">Left Sidebar</div>			<div id="content" class="section">Main Content</div>		</div>	
登录后复制

CSS Code

		<style type="text/css">			 	*{margin: 0;padding: 0;}			 	#container { overflow: hidden; }			 	#left { background: #ccc; float: left; width: 200px; margin-bottom: -99999px; padding-bottom: 99999px; }			 	#content { background: #eee; margin-left: 200px;/*==此值等于左边栏的宽度值==*/ margin-bottom: -99999px; padding-bottom: 99999px; }			 	#left,			 	#content { min-height: 200px; height: auto !important; height: 200px; }		</style>	
登录后复制

查看在线的DEMO。

方法三:

HTML Markup

		<div id="container">			<div id="content">Main Content</div>			<div id="sidebar">Left Sidebar</div>		</div>	
登录后复制

CSS Code

			*{margin: 0;padding: 0;}		 	#container{		 		background-color:#0ff;		 		overflow:hidden;		 		padding-left:220px; /* 宽度大小等与边栏宽度大小*/		 	}		 	* html #container{		 		height:1%; /* So IE plays nice */		 	}		 	#content{		 		background-color:#0ff;		 		width:100%;		 		border-left:220px solid #f00;/* 宽度大小等与边栏宽度大小*/		 		margin-left:-220px;/* 宽度大小等与边栏宽度大小*/		 		float:right;		 	}		 	#sidebar{		 		background-color:#f00;		 		width:220px;		 		float:right;		 		margin-left:-220px;/* 宽度大小等与边栏宽度大小*/		 	}		 	#content,		 	#sidebar {		 		min-height: 200px;		 		height: auto !important;		 		height: 200px;		 	}	
登录后复制

查看在线DEMO效果。

方法四:

HTML Markup

		<div id="container2">			<div id="container1">					<div id="col1">Left Sidebar</div>					<div id="col2">Main Content</div>		 	</div>		</div>	
登录后复制

CSS Code

		*{padding: 0;margin:0;}		#container2 {		  	float: left;		  	width: 100%;		  	background: orange;		  	position: relative;		  	overflow: hidden;		  }		  #container1 {		  	float: left;		  	width: 100%;		  	background: green;		  	position: relative;		  	left: 220px;/* 宽度大小等与边栏宽度大小*/		  }     		  #col2 {		  	position: relative;		  	margin-right: 220px;/* 宽度大小等与边栏宽度大小*/		  }     		  #col1 {		  	width: 220px;		  	float: left;		  	position: relative;		  	margin-left: -220px;/* 宽度大小等与边栏宽度大小*/		  }	   			#col1,#col2 {				min-height: 200px;				height: auto !important;				height: 200px;			}	
登录后复制

查看在线DEMO。

方法五:

HTML Markup

		<div id="container1">			<div id="container">				<div id="left">Left Sidebar</div>				<div id="content">					<div id="contentInner">Main Content</div>				</div>			</div>		</div>	
登录后复制

CSS Code

		*{padding: 0;margin: 0;}		#container1 {			float: left;			width: 100%;			overflow: hidden;			position: relative;			background-color: #dbddbb;		}		#container {			background-color: orange;			width: 100%;			float: left;			position: relative;			left: 220px;/* 宽度大小等与边栏宽度大小*/		}		#left {						float: left;			margin-right: -100%;			margin-left: -220px;/* 宽度大小等与边栏宽度大小*/			width: 220px;		}		#content {			float: left;			width: 100%;			margin-left: -220px;/* 宽度大小等与边栏宽度大小*/		}		#contentInner {						margin-left: 220px;/* 宽度大小等与边栏宽度大小*/			overflow: hidden;		}				#left,		#content {				min-height: 200px;				height: auto !important;				height: 200px;		}	
登录后复制

查看在线DEMO。

针对上面的面试题要求,我一共使用了五种不同的方法来实现,经过测试都能在各浏览器中运行,最后我有几点需要特别提出:

上面所有DEMO中,要注意其方向性的配合,并且值要统一,如果您想尝试使用自己布局需要的宽度值,请对照相关代码环节进行修改; 上面所有DEMO中,没有设置他们之间的间距,如果您想让他们之间有一定的间距,有两种方法可能实现,其一在上面的DEMO基础上修改相关参数,其二,在相应的里面加上"div"标签,并设置其“padding”值,这样更安全,不至于打破你的布局 因为我们这里有一列使用了自适应宽度,在部分浏览器下,当浏览器屏幕拉至到一定的大小时,给我们带来的感觉是自适应宽度那栏内容像是被隐藏,在你的实际项目中最好能在“body”中加上一个“min-width”的设置。
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章标签

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

公众号网页更新缓存难题:如何避免版本更新后旧缓存影响用户体验? 公众号网页更新缓存难题:如何避免版本更新后旧缓存影响用户体验? Mar 04, 2025 pm 12:32 PM

公众号网页更新缓存难题:如何避免版本更新后旧缓存影响用户体验?

如何使用HTML5表单验证属性来验证用户输入? 如何使用HTML5表单验证属性来验证用户输入? Mar 17, 2025 pm 12:27 PM

如何使用HTML5表单验证属性来验证用户输入?

如何高效地在网页中为PNG图片添加描边效果? 如何高效地在网页中为PNG图片添加描边效果? Mar 04, 2025 pm 02:39 PM

如何高效地在网页中为PNG图片添加描边效果?

HTML5中跨浏览器兼容性的最佳实践是什么? HTML5中跨浏览器兼容性的最佳实践是什么? Mar 17, 2025 pm 12:20 PM

HTML5中跨浏览器兼容性的最佳实践是什么?

&lt; meter&gt;的目的是什么。 元素? &lt; meter&gt;的目的是什么。 元素? Mar 21, 2025 pm 12:35 PM

&lt; meter&gt;的目的是什么。 元素?

&lt; datalist&gt;的目的是什么。 元素? &lt; datalist&gt;的目的是什么。 元素? Mar 21, 2025 pm 12:33 PM

&lt; datalist&gt;的目的是什么。 元素?

我如何使用html5&lt; time&gt; 元素以语义表示日期和时间? 我如何使用html5&lt; time&gt; 元素以语义表示日期和时间? Mar 12, 2025 pm 04:05 PM

我如何使用html5&lt; time&gt; 元素以语义表示日期和时间?

&lt; iframe&gt;的目的是什么。 标签?使用时的安全考虑是什么? &lt; iframe&gt;的目的是什么。 标签?使用时的安全考虑是什么? Mar 20, 2025 pm 06:05 PM

&lt; iframe&gt;的目的是什么。 标签?使用时的安全考虑是什么?

See all articles