最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

CSS布局居中对齐,左侧定宽右侧自适应详细介绍

来源:动视网 责编:小采 时间:2020-11-27 18:52:00
文档

CSS布局居中对齐,左侧定宽右侧自适应详细介绍

CSS布局居中对齐,左侧定宽右侧自适应详细介绍: CSS页面布局是web前端开发的最基本的技能,本文将介绍一些常见的布局方法,涉及到盒子布局,column布局,flex布局等内容。本文中,你可以看到一些水平垂直居中的方法,左侧固定宽度,右侧自适应的一些方法。如果你有更多关于布局方面的技巧,欢迎留言交流。
推荐度:
导读CSS布局居中对齐,左侧定宽右侧自适应详细介绍: CSS页面布局是web前端开发的最基本的技能,本文将介绍一些常见的布局方法,涉及到盒子布局,column布局,flex布局等内容。本文中,你可以看到一些水平垂直居中的方法,左侧固定宽度,右侧自适应的一些方法。如果你有更多关于布局方面的技巧,欢迎留言交流。

 CSS页面布局是web前端开发的最基本的技能,本文将介绍一些常见的布局方法,涉及到盒子布局,column布局,flex布局等内容。本文中,你可以看到一些水平垂直居中的方法,左侧固定宽度,右侧自适应的一些方法。如果你有更多关于布局方面的技巧,欢迎留言交流。一、神奇的居中 经常看到有一些面试题问如何实现水平垂直居中,还要求用多种方法。唉唉唉!下面介绍一下我所知道的实现居中的方法。(1)父元素relative;子元素absolute,top:50%;left:50%;margin-left:-自己宽度的一半;margin-right:-自己高度的一半。
<!DOCTYPE html>
<html>
<head>
 <meta charset="UTF-8">
 <title>水平垂直居中2</title>
 <style type="text/css">
 .container{
 width: 100%;
 height: 500px;
 background: red;
 position: relative;
 }
 .child{
 width: 300px;
 height: 300px;
 background: blue;
 position: absolute;
 left: 50%;
 margin-left: -150px;
 top: 50%;
 margin-top: -150px;
 }
 </style>
</head>
<body>
 <div>
 <div></div>
 </div>
</body>
</html>

这种方法需要知道子元素的宽高。

(2)父元素:relative;子元素:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
<!DOCTYPE html>
<html>
<head>
 <meta charset="UTF-8">
 <title>水平垂直居中3</title>
 <style type="text/css">
 .container{
 background: red;
 width: 100%;
 height: 500px;
 position: relative;
 }
 .child{
 background: blue;
 width: 300px;
 height: 300px;
 position: absolute;
 top: 50%;
 left: 50%;
 transform: translate(-50%,-50%);
 }
 </style>
</head>
<body>
 <div>
 <div></div>
 </div>
</body>
</html>
此法跟上面的相似,但是用到了transform,好处是不需要知道子元素的宽高,兼容性方面我查了一下,看着办吧。

(3)父元素:display: flex;justify-content: center;align-items: center;
<!DOCTYPE html>
<html>
<head>
 <meta charset="UTF-8">
 <title>水平垂直居中1</title>
 <style type="text/css">
 .container{
 width: 100%;
 height: 400px;
 background: red;
 display: flex;
 justify-content: center;
 align-items: center;
 }
 .child{
 width: 300px;
 height: 300px;
 background: blue;
 }
 </style>
</head>
<body>
 <div>
 <div></div>
 </div>
</body>
</html>

这种方法看起来有些高大上,根本不用理会子元素。

(4)水平居中的方法,父元素:text-align:center
<!DOCTYPE html>
<html>
<head>
 <meta charset="UTF-8">
 <title>水平垂直居中4</title>
 <style type="text/css">
 .container{
 background: red;
 width: 100%;
 height: 500px;
 text-align: center;
 }
 .child{
 background: blue;
 width: 300px;
 height: 300px;
 margin: auto;
 }
 </style>
</head>
<body>
 <div>
 <div></div>
 </div>
</body>
</html>
如果子元素里的文字不要水平居中的话,那么用此法将遇到不少麻烦。(5)水平居中方法,子元素:margin:0 auto;这个好说,不上代码了好了,关于居中问题就说这么多,如果你还有更好的方法,请告诉我。
二、左侧固定宽度,右侧自适应这是一个比较常见的需求,下面介绍几种实现方法。 (1)左边定宽,左浮动,右边不指定宽。
<!DOCTYPE html>
<html>
<head>
 <meta charset="UTF-8">
 <title>做固定,右边自适应</title>
 <style type="text/css">
 body{
 margin: 0;
 }
 .aside{
 background: red;
 width:200px;
 height: 500px;
 float: left;
 }
 .main {
 background: blue;
 height: 500px;
 }
 </style>
</head>
<body>
 <div>
 我是左边的
 </div>
 <div>
 我是主体
 我是主体
 我是主体
 我是主体
 我是主体
 </div>
</body>
</html>

做实验时无意发现了这种方法,意外之喜。

(2)用padding占位子的方法

<!DOCTYPE html>
<html>
<head>
 <meta charset="UTF-8">
 <title>左侧固定右侧自适应</title>
 <style type="text/css">
 .container {
 padding-left: 200px;
 width: 100%;
 position: relative;
 }
 .left{
 position: absolute;
 left: 0;
 right: 0;
 background: red;
 height: 500px;
 width: 200px;
 }
 .right{
 background: blue;
 width: 100%;
 height: 500px;
 }
 </style>
</head>
<body>
 <div>
 <div>zuobian</div>
 <div>
 新华社俄罗斯喀山3月23日电(记者 魏良磊)中俄执政党对话机制第六次会议和第五届中俄政党论坛23日在俄罗斯喀山举行。和俄罗斯联邦总统普京分别致贺信。
 </div>
 </div>
</body>
</html>

注意了,absolute是脱离文档流的。.right的100%是相对于父容器的内容宽度的,不是整个宽度。

(3)父:display:flex;左定宽;右flex:1。ok

<!DOCTYPE html>
<html>
<head>
 <meta charset="UTF-8">
 <title>左边固定,右边自适应</title>
 <style type="text/css">
 .container{
 display: flex;
 }
 .left{
 width: 200px;
 height: 500px;
 background: red;
 }
 .right{
 background: blue;
 height: 500px;
 flex: 1;
 }
 </style>
</head>
<body>
 <div>
 <div>zuobian</div>
 <div>
 新华社俄罗斯喀山3月23日电(记者 魏良磊)中俄执政党对话机制第六次会议和第五届中俄政党论坛23日在俄罗斯喀山举行。和俄罗斯联邦总统普京分别致贺信。
 </div>
 </div>
</body>
</html>
弹性盒子很强,有木有。但是有的是要加前缀的,哪些要加自己查去,有一次做实验,电脑样式正确,手机就是不对,搞了好半天。
(4)父:display:table;左右:display:table-cell;左:定宽。
<!DOCTYPE html>
<html>
<head>
 <meta charset="UTF-8">
 <title>左边固定,右边自适应</title>
 <style type="text/css">
 .container{
 display: table;
 }
 .left{
 width: 200px;
 height: 500px;
 background: red;
 display: table-cell;
 }
 .right{
 background: blue;
 height: 500px;
 display: table-cell;
 }
 </style>
</head>
<body>
 <div>
 <div>zuobian</div>
 <div>
 新华社俄罗斯喀山3月23日电(记者 魏良磊)中俄执政党对话机制第六次会议和第五届中俄政党论坛23日在俄罗斯喀山举行。罗斯联邦总统普京分别致贺信。
 </div>
 </div>
</body>
</html>
据说这是一种古老的方法,我咋不知道呢?可能我比较年轻吧!

文档

CSS布局居中对齐,左侧定宽右侧自适应详细介绍

CSS布局居中对齐,左侧定宽右侧自适应详细介绍: CSS页面布局是web前端开发的最基本的技能,本文将介绍一些常见的布局方法,涉及到盒子布局,column布局,flex布局等内容。本文中,你可以看到一些水平垂直居中的方法,左侧固定宽度,右侧自适应的一些方法。如果你有更多关于布局方面的技巧,欢迎留言交流。
推荐度:
标签: 居中 左边 左侧
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top