转行学开发,代码100天——2018-04-15

(今天是代码开发的第30天,但是代码记录有些滞后,尽快补上。日后要严格执行,避免学习进度和内容相对滞后。)

今天,记录“前端大全”里分享的一篇关于利用Flexbox和CSS Grid实现高效布局的案例。

原文来源:葡萄城控件

www.cnblogs.com/powertoolsteam/p/combine-flexbox-and-css-grids-for-layouts.html

关于Flexbox前期学习笔记已经介绍过其基本用法。再添加一篇介绍文章:

flexbox-CSS3弹性盒模型flexbox布局完整版教程

一方面,使用Flexbox可以使元素对齐排列变得更加容易,另一方面,浏览器逐渐增加对CSS Grid的布局支持,使其为网页设计带来一定的便利。通过使用Flexbox 和CSS Grid均能实现网页布局设计,本次实践是组合两者工具,实现较复杂页面的布局设计。

对于下图的页面布局

一.用Flexbox 实现的布局

HTML:cotainer(header+wraper+footer)

<div class="container">
<!--header start-->
<header>
<nav>
<ul>
<li><a href="#">LOGO</a></li>
<li><a href="#">CONTACT</a></li>
<li><a href="#">CONTACT</a></li>
</ul>
</nav>
<span class="login">
<a href="#">Login</a>
</span> </header>
<!--header end --> <!--wrapper start--> <div class="wrapper">
<side class="sidebar">
<h3>Recent Posts</h3>
<ul>
<li><a href="#">page one</a></li>
<li><a href="#">page two</a></li>
<li><a href="#">page three</a></li>
</ul> </side>
<section class="main">
<h2>Flexbox Layout</h2>
<p>fasdgabadga<br/><br/><br/>
<img src="img/8.jpg">
</p>
<br/><br/><br/>
</section>
</div>
<!--wrapper end--> <!--footer start-->
<footer>
<h3>Flexbox Layout Example</h3>
<p>&copy xxxx</p>
</footer>
<!--footer end-->
</div>
<style type="text/css">
*{
margin:;
padding:; }
ul li{
list-style: none;
color: #fff;
}
a{
text-decoration: none;
color: #fff;
}
.container{
display: flex;
flex-direction: column;
width: 80%;
height: 100%;
margin-left: 10%;
}
header{
padding:15px;
margin-bottom: 40px;
display: flex;
justify-content: space-between;
/*border:1px solid red;*/
background: #1f1e23;
}
nav ul{
display: flex;
flex-direction: row;
margin-left: 20px;
}
nav ul li{
/*background: #ccc;*/
width: 100px;
height: 30px;
line-height: 30px;
text-align: center; }
nav ul li:hover{
background: #ccc;
color: #000;
}
.login{
width: 60px;
height: 30px;
background: #0093ff;
text-align: center;
line-height: 30px;
border-radius: 14px; }
.wrapper{
display: flex;
flex-direction: row;
color: #000;
border:1px solid green;
}
.main{
flex:;
margin-right: 60px;
}
.sidebar{
flex:;
color: #000;
}
.sidebar ul {
margin-left: 0px; }
.sidebar a{
color: #000;
} footer{
/*border:1px solid black;*/
background: #1f1e23;
text-align: center;
bottom:;
color: #fff;
height: 60px;
line-height: 60px; } </style>

基本布局效果如下:

二.用CSS Grid方式实现

未完,待续。。。。

day30—使用Flexbox和CSS Grid实现高效布局实践的更多相关文章

  1. 如何使用Flexbox和CSS Grid,实现高效布局

    CSS 浮动属性一直是网站上排列元素的主要方法之一,但是当实现复杂布局时,这种方法不总是那么理想.幸运的是,在现代网页设计时代,使用 Flexbox 和 CSS Grid 来对齐元素,变得相对容易起来 ...

  2. 如何使用 Flexbox 和 CSS Grid,实现高效布局

    CSS 浮动属性一直是网站上排列元素的主要方法之一,但是当实现复杂布局时,这种方法不总是那么理想.幸运的是,在现代网页设计时代,使用 Flexbox 和 CSS Grid 来对齐元素,变得相对容易起来 ...

  3. 你不需要基于 CSS Grid 的栅格布局系统

    在过去的几个星期里,我开始看到基于 CSS Grid 的布局框架和栅格系统的出现.我们惊讶它为什么出现的这么晚.但除了使用 CSS Grid 栅格化布局,我至今还没有看到任何框架能提供其他有价值的东西 ...

  4. CSS Grid 读书笔记

    基本概念 MDN上的解释是这样的 CSS Grid Layout excels at dividing a page into major regions or defining the relati ...

  5. 【CSS】340- 常用九宫格布局的几大方法汇总

    对,就是类似这样的布局~ 目录 1  margin负值实现 2  祖父和亲爹的里应外合 3  换个思路 - li生个儿子帮大忙 4 借助absolute方位值,实现自适应的网格布局 5 cloumn多 ...

  6. CSS Grid 布局完全指南(图解 Grid 详细教程)

    CSS Grid 布局是 CSS 中最强大的布局系统.与 flexbox 的一维布局系统不同,CSS Grid 布局是一个二维布局系统,也就意味着它可以同时处理列和行.通过将 CSS 规则应用于 父元 ...

  7. CSS Grid 布局

    CSS Grid 布局是 CSS 中最强大的布局系统.与 flexbox 的一维布局系统不同,CSS Grid 布局是一个二维布局系统,也就意味着它可以同时处理列和行.通过将 CSS 规则应用于 父元 ...

  8. CSS Grid布局入门

    相信大家都比较熟悉flex布局了,最近有空研究了波grid布局,感觉虽然兼容性还不是太高,应用不是太普遍,但是功能非常强大.未来应该是grid+flex为主流,grid是二维布局,很灵活,适合整体构架 ...

  9. CSS Grid布局指南

    简介 CSS Grid布局 (又名"网格"),是一个基于二维网格布局的系统,主要目的是改变我们基于网格设计的用户接口方式.如我们所知,CSS 总是用于网页的样式设置,但它并没有起到 ...

随机推荐

  1. 知识点C++

    比较2个字符串的大小…… s1=s2,strcmp(s1,s2) == ; s1>s2, strcmp(s1,s2) == ; s1<s2, strcmp(s1,s2) == -; str ...

  2. [Git] 007 三棵树以及向本地仓库加入第一个文件

    1. "三棵树" 1.1 前言 理论上要稍稍复杂一点 我在这里说得简化一点 顺道挖个坑 下回具体介绍 坑号编码:Git07-1 1.2 看图 1.3 简介 树左:工作区(平时写代码 ...

  3. 手动刷新客户端配置内容(Spring Cloud Config)

    手动刷新客户端配置内容 客户端项目增加依赖项 <dependency> <groupId>org.springframework.boot</groupId> &l ...

  4. [hdu6558][CCPC2018吉林D题]The Moon(期望dp)

    题目链接 当时年少不懂期望$dp$,时隔一年看到这道题感觉好容易.... 定义状态$dp[i]$表示当前的$q$值为$i$时的期望,则当$q$值为$100$时$dp[100]=100/q$,这时后发现 ...

  5. CentOS6.4下Mysql数据库的安装与配置,导入数据库,授权远程ip

    卸载掉原有mysql 由于mysql数据库在Linux上实在是太流行了,所以眼下下载的主流Linux系统版本号基本上都集成了mysql数据库在里面,我们能够通过例如以下命令来查看我们的操作系统上是否已 ...

  6. indexDB的用法

    本文转自http://www.ruanyifeng.com/blog/2018/07/indexeddb.html,为了方便个人整理学习笔记所用 一.概述 随着浏览器的功能不断增强,越来越多的网站开始 ...

  7. Vue实现点击li变色

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  8. Python之路-Python常用模块-time模块

    一.time模块 常用的一种获取当前时间以及时间格式化的模块,模块名称:time time模块在Python原生安装中就存在所以不需要进行任何安装操作,直接使用即可. 导入方式: import tim ...

  9. sqli-5&6

    第五关 Double Injection - Single Quotes - String (双注入GET单引号字符型注入) 1.发现前几关的方法都不能用了,要么报错(没有其他有关信息.要么什么也不出 ...

  10. 一、JQJson数组

    叙述:常用的数据格式无非三种(组装数据,传参传值) 一.数组 : 1.定义 var select = []; //或 var select = new Array(); 2.JS给一个数组赋值 sel ...