HTML5和CSS3扁平化风格

做一个整体的网页,先入手的应该是整体的布局而不是去扣细节,只有大体构架明晰,才能不慌不乱。

1.页头、内容、页脚:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>Document</title>
	</head>
	<body>
	    <header>                 <!-- 页头 -->                           
	    	<nav></nav>
	    	<div id="banner"></div>
	    </header>
	    <div class="content">    <!-- 内容 --> 
	    	
	    </div>
	    <footer>                 <!-- 页脚 --> 
	    	
	    </footer>
	</body>
</html>

在web项目中新建一个main.css放在css文件下,设置自己想要的css样式,在主代码中引用:

<head>
	<meta charset="utf-8" />
	<title>Document</title>
	<link rel="stylesheet" href="css/main.css">     <!--引用自己设定的CSS样式-->		
</head>

2.页头结构分析及布局  

块级元素nav,如果没有内容撑起nav的高度,默认为0,可以指定高度,指定高度后没内容也可显示。

用CSS实现nav和banner的整体布局:

nav
{  
	background: #ccc;
	height:50px;
}

#banner
{
	background: #777;
	height: 700px;
}

导航栏<ul><li>......</li></ul>      不想要前面的默认样式圆点并使其同行排列:

nav ul
{
	list-style: none;          <!--列表样式都清空不要-->
	margin: 0;
}

nav ul li
{
	display: inline-block;      <!--使li里面的元素横向排列-->
	line-height: 50px;          <!--行高-->      
}

nav ul li a
{
	line-height: 50px;
	text-decoration: none;      <!--文字装饰(下划线..)清空不要-->
}

在设置了左右浮动分开导航栏时发现文字并不居中了,这时之前设置的line-height是没有意义的,                                             <a> 是行内标签 是无法设置宽高的 包括行高 也就是说一开始写的lh50px 是没有任何作用的 文字居中是受到了<li>下lh50px的影响

<a> 标签在d-b以后是由内容自动撑开高度的,也就是说此处不管设line-height还是height,inherit都是没有意义的

nav ul li
{
	float:right;
	margin: 20px;  
	display: inline-block;      <!--使li里面的元素横向排列-->
	                         
}

nav ul li a
{
	text-decoration: none;      <!--文字装饰(下划线..)清空不要-->
}

nav ul li.logo
{
	float: left;
}

div的默认样式就是占母元素宽度的100%

页头的源代码:

<header><!--页头开始-->

		<nav>

			<div class="logo"><a href="#">CBAT</a></div>

			<ul>

				<li><a href="#" class="active">首页</a></li>

				<li><a href="#">图片</a></li>

				<li><a href="#">文章</a></li>

				<li><a href="#">关于我们</a></li>

			</ul>

		</nav>

		<div id="banner">

			<div class="inner">

				<h1>小可爱</h1>

				<p class="sub-heading">爱吃零食的孩子都是好孩子</p>

				<button id="main-btn">了解我</button>

				<div class="more">

					更多

				</div>

			</div>

		</div>

		</header><!--页头结束-->

页头的CSS样式源代码:

ul

{

	margin: 0;

}



header

{

	background: rgba(0, 0, 0, 0.4);

}



nav

{

	height: 50px;

	background-color: transparent;

}

#banner

{

	height: 700px;

	background-color: transparent;

}



nav ul

{

	list-style: none;

	margin: 0;

	float: right;

}



nav ul li,nav .logo

{

	display: inline-block;

	line-height: 50px;

	margin-right: 20px;

}



nav ul li a

{

	line-height: inherit;

	text-decoration: none;

	display: inline-block;

	height: inherit;

	color: #fff;

}



nav ul li .logo

{

	float: left;

	padding: 10px;

}



#banner .inner

{

	max-width: 300px;

	text-align: center;

	margin: 0 auto;

	position: relative;

	top: 160px;

	color: #fff;

}



#banner .inner h1

{

	margin: 0;

}



button

{

	border: none;

	background-color: #333;

	color: #eee;

	padding: 10px;

}



#banner button

{

	padding: 14px 60px;

}



#banner .inner .more

{

	margin-top: 220px;

}



.sub-heading

{

	line-height: 30px;

	margin: 30px 0;

}



.logo

{

	font-size: 20px;

	font-weight: 700;

	letter-spacing: 1px;

}



.logo a

{

	color: #fff;

}

使div小正方形旋转45°成为菱形:transform rotate(45deg)

指定背景固定不移动,实现背景为底页面向上滑动的效果:background-attachment:fixed;

背景不重复:background-repeat:no-repeat;      图片伸展:background-size:cover;   居中background-position:center center;

整体的源代码:

<!DOCTYPE html>

<html>

<head>

	<meta charset="utf-8">

	<title></title>

	<link rel="stylesheet" type="text/css" href="css/reset.css">

	<link rel="stylesheet" type="text/css" href="css/main.css">

</head>

<body>

	<div class="main-wrapper">

		<header><!--页头开始-->

		<nav>

			<div class="logo"><a href="#">CBAT</a></div>

			<ul>

				<li><a href="#" class="active">首页</a></li>

				<li><a href="#">图片</a></li>

				<li><a href="#">文章</a></li>

				<li><a href="#">关于我们</a></li>

			</ul>

		</nav>

		<div id="banner">

			<div class="inner">

				<h1>小可爱</h1>

				<p class="sub-heading">爱吃零食的孩子都是好孩子</p>

				<button id="main-btn">了解我</button>

				<div class="more">

					更多

				</div>

			</div>

		</div>

		</header><!--页头结束-->

	

		<div class="content"><!--内容开始-->

		<section class="green-section">

			<div class="wrapper">

				<div>

					<h2>爱吃零食的孩子</h2>

					<div class="hr"></div>

					<p class="sub-heading">爱吃零食的孩子都是好孩子 爱吃零食的孩子都是好孩子 爱吃零食的孩子都是好孩子</p>

				</div>

				<div class="icon-group">

					<span class="icon"><img src="img/item2.jpg"></span>

					<span class="icon"><img src="img/item2.jpg"></span>

					<span class="icon"><img src="img/item2.jpg"></span>

				</div>

			</div>

		</section>

		<section class="gray-section">

			<div class="article-preview">

				<div class="img-section">

					<img src="img/pic1.jpg">

				</div>

				<div class="text-section">

					<h2>爱吃零食的孩子都是好孩子</h2>

					<div class="sub-heading">

						好吃鬼

					</div>

					<p>爱吃零食的孩子都是好孩子 爱吃零食的孩子都是好孩子 爱吃零食的孩子都是好孩子</p>

				</div>

			</div>

			<div class="article-preview">

				<div class="text-section">

					<h2>一袋零食顶两戴</h2>

					<div class="sub-heading">

						爱吃零食的孩子都是好孩子

					</div>

					<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod incididunt ut 

					proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>

				</div>

				<div class="img-section">

					<img src="img/pic2.jpg">

				</div>

			</div>

			<div class="article-preview">

				<div class="img-section">

					<img src="img/pic03.jpg">

				</div>

				<div class="text-section">

					<h2>冰棒好吃不好吃</h2>

					<div class="sub-heading">

						爱吃零食的孩子

					</div>

					<p>Locia deserunt mollit anim id est laborum.Locia deserunt mollit anim id est laborum.Locia deserunt mollit anim id est laborum.</p>

				</div>

			</div>

		</section>

		<section class="purple-section">

		<div class="wrapper">

			<div class="heading-wrapper">

				<h2>爱吃零食的小孩</h2>

				<div class="hr"></div>

				<div class="sub-heading">

					Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed  nulla pariatur. Excepteur sint occaecat cupidatat non

					proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

				</div>

			</div>

			<div class="card-group clearfix">

				<div class="card">

					<h3>冰冰棒</h3>

					<p>Loreeu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>

				</div>

				<div class="card">

					<h3>棒冰冰</h3>

					<p>Loreeu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>

				</div>

				<div class="card">

					<h3>可比克</h3>

					<p>Loreeu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>

				</div>

				<div class="card">

					<h3>比克比</h3>

					<p>Loreeu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>

				</div>

				<div class="card">

					<h3>旺旺雪饼</h3>

					<p>Loreeu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>

				</div>

				<div class="card">

					<h3>旺旺仙贝</h3>

					<p>Loreeu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>

				</div>

			</div>

			</div>

		</section>

		</div><!--内容结束-->

	

		<footer><!--页脚开始-->

			<ul class="share-group">

				<li>零食</li>

				<li>小孩</li>

				<li>旺旺</li>

				<li>可比克</li>

				<li>冰冰棒</li>

			</ul>

			<div class="copy">

				&copy CBAT - 2018

			</div>

		</footer><!--页脚结束-->

	</div>

</body>

</html>

CSS源代码:

.clearfix:after

{

	content: '';

	display: block;

	clear: both;

}





ul

{

	margin: 0;

}



header

{

	background: rgba(0, 0, 0, 0.4);

}



nav

{

	height: 50px;

	background-color: transparent;

}

#banner

{

	height: 700px;

	background-color: transparent;

}



nav ul

{

	list-style: none;

	margin: 0;

	float: right;

}



nav ul li,nav .logo

{

	display: inline-block;

	line-height: 50px;

	margin-right: 20px;

}



nav ul li a

{

	line-height: inherit;

	text-decoration: none;

	display: inline-block;

	height: inherit;

	color: #fff;

}



nav ul li .logo

{

	float: left;

	padding: 10px;

}



#banner .inner

{

	max-width: 300px;

	text-align: center;

	margin: 0 auto;

	position: relative;

	top: 160px;

	color: #fff;

}



#banner .inner h1

{

	margin: 0;

}



button

{

	border: none;

	background-color: #333;

	color: #eee;

	padding: 10px;

}



#banner button

{

	padding: 14px 60px;

}



#banner .inner .more

{

	margin-top: 220px;

}



.sub-heading

{

	line-height: 30px;

	margin: 30px 0;

}



.logo

{

	font-size: 20px;

	font-weight: 700;

	letter-spacing: 1px;

}



.logo a

{

	color: #fff;

}



.active

{

	border-bottom: 4px solid #fff;

}



h1

{

	padding: 12px;

	border-top: 2px solid #fff;

	border-bottom: 2px solid #fff;

}



h2

{

	margin-top: 0px;

	font-size: 30px;

}



h3

{

	font-size: 24px;

}



p

{

	font-size: 18px;

	letter-spacing: 1px;

}



.hr

{

	width: 100%;

	height: 2px;

	margin: 0 auto;

	margin: 20px auto;

}



.sub-heading

{

	font-size: 18px;

}



#main-btn

{

	padding: 14px 28px;

	font-size: 20px;

	letter-spacing: 4px;

	border-radius: 6px;

	background: #18a;

}



.green-section

{

	background: #089DB0;

	color: #fff;

	text-align: center;

	padding: 100px 0;

}



.green-section .hr

{

	background: #098E9F;

	width: 60%;

}



.green-section .icon-group .icon

{

	display: inline-block;

	width: 80px;

	height: 80px;

	border: 1px solid #0D6F7C;

	transform: rotate(45deg);  /*旋转45度*/

	margin: 20px;

}



.icon-group

{

	margin-top: 60px;

}



.wrapper

{

	max-width: 1080px;

	margin: 0 auto;

}



.gray-section

{

	background: #252F34;

	color: #fff;

}



.gray-section .img-section

{

	width: 45%;

}



.img-section img

{

	width: 100%;

}



.gray-section .text-section

{

	width: 55%;

}



.article-preview:nth-child(odd)  /*article-preview奇数设置*/

{

	background-color: rgba(255,255,255,0.05);

}

.article-preview > div

{

	float: left;

	font-size: 0;

}



.article-preview:after

{

	content: '';

	display: block;

	clear: both;

}



.text-section

{

	position: relative;

	top: 68px;

	left: 50px;

}



.text-section h2

{

	margin-bottom: 20px;

}



.text-section .sub-heading

{

	font-size: 22px;

	margin-top: 0px;

}



.text-section p

{

	font-size: 18px;

	letter-spacing: 1px;

}



.text-section > * {

	max-width: 90%;

}



.purple-section

{

	padding: 80px;

	background-color: #3F3965;

	color: #fff;

}



.purple-section .heading-wrapper

{

	text-align: center;

}



.purple-section .hr

{

	background-color: #373259;

	width: 60px;

}



.card

{

	float: left;

	width: 50%;

	min-height: 300px;

	padding: 50px;

	-webkit-box-sizing:border-box;

	-moz-box-sizing:border-box;

	box-sizing: border-box;

	/*border: 1px solid #fff;*/

}



.card:first-child

{

	background-color: rgba(0,0,0,0.04);

}



.card:nth-child(2)

{

	background-color: rgba(0,0,0,0.08);

}



.card:nth-child(3)

{

	background-color: rgba(0,0,0,0.12);

}



.card:nth-child(4)

{

	background-color: rgba(0,0,0,0.16);

}



.card:nth-child(5)

{

	background-color: rgba(0,0,0,0.20);

}



.card:nth-child(6)

{

	background-color: rgba(0,0,0,0.24);

}



footer

{

	background-color: #333;

	color: #fff;

	min-height: 200px;

	text-align: center;

}



ul.share-group

{

	display: block;

	width: 1080px;

	margin: 0 auto;

	padding: 50px;

}



.share-group li

{

	display: inline-block;

	padding: 10px;

}



.copy

{

	padding-bottom: 20px;

}



.main-wrapper

{

	background: #444 url(../img/banner.jpg);

	background-attachment: fixed;

	background-repeat: no-repeat;

	background-size: cover;

	background-position: center center;

}

猜你喜欢

转载自blog.csdn.net/LH_1999/article/details/81388192