Rumah >hujung hadapan web >tutorial css >css实现布局时可以用的几个技巧(代码)

css实现布局时可以用的几个技巧(代码)

不言
不言asal
2018-08-09 17:38:101783semak imbas

本篇文章给大家带来的内容是关于css实现布局时可以用的几个技巧(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

面对似曾相识的布局

侧边固定中间自适应,头部固定中间自适应,长得差不多的panel组件,model组件

我们有前端框架bootstrap,easyui都有提供这些组件插件,在使用给过程中总是和ui画出来的页面有些细微的差距比如:字体,高度,背景色

今天来总结下如何快速自定义布局,提高开发效率

方案1:利用定位实现上面固定中间自适应布局

#section{
 position: fixed;
 top:0;
 left: 0;
 bottom: 0;
 right: 0;
 .top{
   position: fixed;
   top:0;
   left: 0;
   height: @header_height;
   width: 100%;
 }
 .main{
    position:relative;
    top:-@header_height;
    left:0;
    height:100%;
    border-top:@header_height solid transparent;
 }
}

原理:利用border-top占据top高度,利用position的top设置-@header_height将位置顶回去

方案2:利用float,padding,margin实现侧边固定中间自适应布局

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>padding layout demo</title>
    <style type="text/css">
      * html #container{
       height:1%; /* So IE plays nice */
      }
      html{
       height: 100%;
      }
      body{
       height: 100%;
       margin:0;
      }
      #container{
       background-color:#0ff;
       overflow:hidden;
       height: 100%;
       padding-right:220px; /* 宽度大小等与边栏宽度大小*/
      }
      #content{
       background-color:yellow;
       width:100%;
       float:left;
       height: 100%;
      }
      #sidebar{
       background-color:#f00;
       width:220px;
       float:left;
       height: 100%;
       margin-right:-220px;
      }
    </style>
</head>
<body>
    <p id="container">
        <p id="content">Main content section
        </p>
        <p id="sidebar">Right Sidebar </p>
    </p>
</body>
</html>

原理:利用padding占据侧边宽度,利用侧边的margin设置-@side_width回到侧边位置

面板布局:原理类似方案一,另外modal也可参考此布局方法

html结构

<p class="panel">
    <p class="panel-header">
      <span class="panel-title-self">今日庭审</span>
    </p>
    <p class="panel-body">
      <p class="trial">
      </p>
    </p>
</p>

css设置

@panel-title-font-size:1rem;
@panel-title-color:#fff;
@panel-title-bg:#30A7FF;
@panel-title-height:2.7rem;
.panel-title-self{
  color: @panel-title-color;
  font-size: @panel-title-font-size;
  background-color: @panel-title-bg;
  height: @panel-title-height;
}

.panel{
 height: 100%;
 border: 1px solid #ddd;
 margin: 0;
 position: relative;
 box-shadow: 3px 3px 3px 3px #ddd;
 .panel-header{
  background:@panel-title-bg;
  padding-left: 10px;
  height: @panel-title-height;
  line-height: @panel-title-height;
  display: flex;
  align-items: center;
  img{
   margin: 0 5px;
  }
 }
 .panel-body{
  height: 100%;
  width: 100%;
  box-sizing: border-box;
  border-top:@panel-title-height solid transparent;
  padding: 0;
  position: relative;
  top:-@panel-title-height;
 }
}

相关推荐:

不知道元素大小时css如何实现垂直水平居中(代码)

css3如何实现自定义滚动条样式?(代码)

Atas ialah kandungan terperinci css实现布局时可以用的几个技巧(代码). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn