css网页布局例子

直接上干货,自己鼓捣的一个布局页面

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
  <meta charset="utf-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
  <title>数据中心 | 布局页01</title>
  <!--
  <link rel="stylesheet" href="../static/css/ack.css">
  -->
  <style>
html {height: 100%;}
body{margin: 0;}
body {height: 100%;font: 14px/1 "Microsoft YaHei","simsun","Helvetica Neue",Tahoma,Helvetica,Arial,sans-serif;}
.wrapper {min-height: 100%;background-color:green;}
.navbar {
  position: relative;
  z-index: 2;
  line-height:50px;overflow:hidden;
  FILTER: progid:DXImageTransform.Microsoft.Gradient(gradientType=1,startColorStr=green,endColorStr=#ed2c39);/*IE9-*/
  background: linear-gradient(to right, green, #ed2c39);/*IE10和其它浏览器,其他浏览器不同的低版本可能需要额外的设置*/
}
.navbar-fixed {
  position:fixed;
  width:100%;
}
.nav-brand {
  margin-left: 20px;font-size: 1.7em;font-weight: 500;color: #fff;
}
.nav-brand,.nav {display: inline-block;}
.nav {float: right;}
.container-fluid {
  position: relative;top: 0;bottom: 3.2em;
  z-index:0;
  height: 100%;background-color: #ccc;
}
.navbar-fixed + .container-fluid {padding-top: 55px;}
.sidebar {
  float: left;width: 190px;height:100%;background-color: red;
}
.sidebar:before {
  content: "";
  display: block;
  width: inherit;
  position: fixed;
  top: 0;
  bottom: 0;
  z-index: -1;
  border: inherit;
  background-color: inherit;
}
.page-content {
  height:100%;margin-left: 192px;
}
.footer-fixed {
  width: 100%;
  position:fixed;
  bottom:0;
}
.footer-inner {
  margin-left: 192px;
  margin-right:2px;
  padding-top: 1em;
  padding-bottom: 1em;
  border-top: 3px double #d5d5d5;
  text-align: center;
  background-color: #f2fdf9;
}
  </style>
  <!--[if lt IE 9]>
  <script src="../static/js/html5shiv.min.js"></script>
  <script src="../static/js/respond.min.js"></script>
  <![endif]-->
</head>
<body>
<div class="wrapper">
  <nav class="navbar navbar-fixed" role="navigation">
    <div class="nav-brand">后台管理中心</div>

    <div class="nav">
      导航内容
    </div>
  </nav>

  <div class="container-fluid">
    <div class="sidebar">
      左侧导航栏
      <ul>
	    <li>菜单一</li>
	    <li>菜单二</li>
	    <li>菜单三</li>
	    <li>菜单四</li>
	    <li>菜单五</li>
	  </ul>
    </div>
  
    <div class="page-content">
      <span style="color:#f00">主体内容开始</span><br>
	  (你看见这部分的灰色是.container-fluid的背景色,外面的大绿色是页面包裹层.wrapper的背景;当你把下面的内容注释去掉,页面内容高度超过一屏,会出现竖向滚动条,.container-fluid的背景色在内容区域也就会覆盖掉.wrapper的背景色。)<br><br>
	  .wrapper用overflow-y: auto; 让最外层容器的背景能跟随文档流自适应;那么就不要用min-height,而用height,否则.wrapper也会有个竖向滚动条;此时文档流高度超过1屏高度的后面部分背景无法延伸;<br>
      这里还是用min-height:100%;毕竟背景可以延伸,且.container-fluidheight:100%;不会因为顶上还有个.navbar而出现竖向滚动条。<br>
	  之前用的navbar-fixed时需要给.container-fluid加上padding-top值;<br>
	  .sidebar:before的内容把.sidebar的背景补齐,看着像自适应高度一样;<br>
	  container-fluid加position:relative、.navbar和.sidebar:before分别加z-index都是为了防止被其他部分覆盖。<br>
      .navbar加上.navbar-fixed就会让导航栏固定在页面顶部,不随页面滚动;<br>
	  .navbar-fixed + .container-fluid {padding-top: 55px;}是因为position:fixed不占位,所以需要空出区域,避免.navbar遮挡.container-fluid中的内容;<br>
	  .footer加上.footer-fixed让footer始终固定于页面底部;.container-fluid加上margin-bottom避免footer会遮住.page-content的内容,不要加载.page-content上,那样内容未满一屏就会看到内容下面多出来空出来的地方。<br>
	  <span style="color:#f00">此实例在页面满一屏时,footer无法紧跟内容底部</span>
	  
	  <!--
	  <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
	  <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
	  -->
	  <span style="color:#f00">主体内容结束</span>
    </div>	
  </div>
  
  <footer class="footer-fixed">
    <div class="footer-inner">支持IE8+、Firefox47.0.1、Chrome 53.0.2785.116 m、360安全浏览器8.1</div>
  </footer>
</div>

<!--[if lte IE 8]>
<script src="../static/js/jquery-1.x.min.js"></script>
<![endif]-->
<!--[if gt IE 8]><!-->
<script src="../static/js/jquery-2.x.min.js"></script>
<!--<![endif]-->
<script src="../static/js/ack.js"></script>
</body>
</html>

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CSS网格布局是一种二维布局系统,它可以让我们更方便地创建复杂的网页布局。下面是一个简单的例子: ```html <div class="container"> <div class="item item-1">1</div> <div class="item item-2">2</div> <div class="item item-3">3</div> <div class="item item-4">4</div> <div class="item item-5">5</div> <div class="item item-6">6</div> </div> ``` ```css .container { display: grid; grid-template-columns: 100px 100px auto; grid-template-rows: 100px 100px auto; grid-gap: 10px; } .item { background-color: #ddd; padding: 20px; font-size: 30px; text-align: center; } ``` 在这个例子中,我们创建了一个包含6个子元素的容器,并使用`display: grid`将其设置为网格布局。然后,我们使用`grid-template-columns`和`grid-template-rows`属性来定义网格的列和行。在这个例子中,我们定义了3列和3行,前两列和前两行的宽度和高度都是100像素,最后一列和最后一行的宽度和高度自适应。我们还使用`grid-gap`属性来定义网格之间的间距。 接下来,我们为每个子元素定义了一个类名,并使用`grid-column`和`grid-row`属性来指定它们在网格中的位置。在这个例子中,我们将第一个子元素放在第1列和第1行,跨越了2列;将第二个子元素放在第3列和第1行;将第三个子元素放在第1列和第3行;将第四个子元素放在第3列和第3行;将第五个子元素放在第2列和第2行,跨越了2行;将第六个子元素放在第2列和第3行。 这样,我们就创建了一个简单的网格布局。当然,CSS网格布局还有很多其他的属性和用法,可以用来创建更复杂的布局。如果您想深入了解CSS网格布局,请参考相关文档和教程。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值