作为一个WEB小萌新,自学了有一段时间,总是感觉停滞不前。最近反思中,想到前贤一句话:书读百遍其义自见。说到底,还是项目做的少,如果做多了,想必自然会得心应手。

利用HTML5+CSS3绘制HTML5的Logo

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body> </body>
</html>

以上为H5基本样式。

【项目分析】

1定位出整个页面背景区域,并实现背景光束

2定义logo样式,并画出盾牌的左半边

3画出盾牌的右半边

4画出浅橘色区域

5画出“5”的左半边

6画出“5”的右半边

7用色块遮盖多余的地方

8在盾牌上添加“HTML”字样

【代码实现】

先新建一个文件夹,创建一个CSS文件夹,内新建一个style.css的文件 。创建一个images文件夹,内放需要的图片,在根目录新建一个 index.html文件,用来存放html代码。

一、html架构(整体 html 代码)

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="css/style.css">
<title>Document</title>
</head>
<body>
<div class="bg"><!-- logo最外层的盒子div -->
<div class="beam" style="transform:rotate(5deg)"></div>
<div class="beam" style="transform:rotate(15deg)"></div>
<div class="beam" style="transform:rotate(25deg)"></div>
<div class="beam" style="transform:rotate(35deg)"></div>
<div class="beam" style="transform:rotate(45deg)"></div>
<div class="beam" style="transform:rotate(55deg)"></div>
<div class="beam" style="transform:rotate(65deg)"></div>
<div class="beam" style="transform:rotate(75deg)"></div>
<div class="beam" style="transform:rotate(85deg)"></div>
<div class="beam" style="transform:rotate(95deg)"></div>
<div class="beam" style="transform:rotate(105deg)"></div>
<div class="beam" style="transform:rotate(115deg)"></div>
<div class="beam" style="transform:rotate(125deg)"></div>
<div class="beam" style="transform:rotate(135deg)"></div>
<div class="beam" style="transform:rotate(145deg)"></div>
<div class="beam" style="transform:rotate(155deg)"></div>
<div class="white beam" style="transform:rotate(165deg)"></div>
<div class="white beam" style="transform:rotate(175deg)"></div> <div class="logo" style="top:120px;left:229px;">
<!-- 左盾牌 -->
<div class="d_shield1"></div>
<div class="d_shield2"></div>
<div class="d_shield3"></div> <!-- 右盾牌 -->
<div class="d_shield4"></div>
<div class="d_shield5"></div>
<div class="d_shield6"></div> <!-- 左边浅橘色部分 -->
<div style="transform: scale(0.82); left: 31px; top: 25px;">
<div class="l_shield1"></div>
<div class="l_shield2"></div>
<div class="l_shield3"></div>
</div> <!-- logo5的左半边灰色 -->
<div class="gray1"></div>
<div class="gray2"></div>
<div class="gray3"></div>
<div class="gray4"></div> <!-- logo5的右半边白色 -->
<div class="white1"></div>
<div class="white2"></div>
<div class="white3"></div>
<div class="white4"></div> <!-- 最后修补 -->
<div class="d_shield7"></div>
<div class="l_shield4"></div> <img src="data:images/HTML.png" alt="">
</div>
</div>
</body>
</html>

二、分步实现CSS样式

①背景

body{
margin:;padding:;
}
div{
position: absolute;
}
/*给整个容器设置样式*/
.bg{
width: 800px; height: 600px; background: #f2f2f2; overflow: hidden;
}
/*给beam元素设置样式*/
.beam{
width: 1600px; height: 20px; background: #fff; top: 290px; left: -400px;
}

效果:

②给所有的盾牌设置样式

.d_shield1,.d_shield2,.d_shield3,.d_shield4,.d_shield5,.d_shield6,.d_shield7{
background:#e15016;
}
.d_shield1{
left: 32px; width: 140px; height: 346px;
}
.d_shield2{
transform: skewX(5deg); /*变形:水平方向斜切5度*/ left: 16px; width: 100px; height: 346px;
}
.d_shield3{
transform: skewY(15deg); top: 265px; left: 32px; width: 140px; height: 100px;
}
.d_shield4{
left: 172px; width: 140px; height: 346px;
}
.d_shield5{
transform: skewX(-5deg); left: 227px; width: 100px; height: 346px;
}
.d_shield6{
transform: skewY(-15deg); top: 265px; left: 172px; width: 140px; height: 100px;
}
.d_shield7{
height: 20px; top: 199px; width: 80px; left: 60px;
}

效果:

③左边浅橘色部分

.l_shield1,.l_shield2,.l_shield3,.l_shield4{
background:#ee6812;
}
.l_shield1{
left: 172px; width: 140px; height: 346px;
}
.l_shield2{
transform: skewX(-5deg); left: 227px; width: 100px; height: 363px;
}
.l_shield3{
transform: skewY(-15deg); top: 282px; left: 172px; width: 138px; height: 100px;
}
.l_shield4{
height: 43px; top: 113px; width: 100px; left: 180px;
}

效果:

④右边灰色 “5” 部位

.gray1,.gray2,.gray3,.gray4{
background:#ebebeb;
}
.gray1{
height: 43px; width: 102px; left: 70px; top: 70px;
}
.gray2{
width: 46px; transform: skewX(5deg); height: 216px; top: 70px; left: 75px;
}
.gray3{
width: 95px; height: 43px; left: 77px; top: 156px;
}
.gray4{
width: 87px; height: 47px; top: 251px; transform: skewY(15deg); left: 87px;
}

效果:

⑤左边白色  “5” 部位

.white1,.white2,.white3,.white4{
background:#fff;
}
.white1{
width: 102px; height: 43px; left: 172px; top: 70px;
}
.white2{
width: 46px; height: 216px; transform: skewX(-5deg); top: 70px; left: 223px;
}
.white3{
height: 43px; width: 95px; left: 172px; top: 156px;
}
.white4{
height: 47px; width: 87px; left: 172px; top: 251px; transform: skewY(-15deg);
}
img{
position: fixed; top: 8px; left: 225px; width: 350px; height: 110px;
}

效果:

项目小结:

1.分步设置样式

2.CSS3属性    transform : rotate(10deg); 旋转  / scale(0.5) ; 缩放 / skew(10deg); 倾斜

【项目1-1】使用HTML5+CSS3绘制HTML5的logo的更多相关文章

  1. css3绘制腾讯logo

    CSS3绘制的腾讯LOGO,下边是对比图. 演示地址

  2. HTML5+CSS3学习笔记(一)

    HTML5+CSS3概述 HTML5和CSS3不仅仅是两项新的Web技术标准,更代表了下一代HTML和CSS技术.虽然HTML5的标准规范还没有正式发布,但是未来的发展前景已经可以预见,那就是HTML ...

  3. HTML5+CSS3学习笔记(一) 概述

    HTML5+CSS3概述      HTML5和CSS3不仅仅是两项新的Web技术标准,更代表了下一代HTML和CSS技术.虽然HTML5的标准规范还没有正式发布,但是未来的发展前景已经可以预见,那就 ...

  4. HTML5+CSS3静态页面项目-PayPaul的总结

    学习前端有一段时间了,一直在看书上的理论知识,而实战项目却很少.师兄常说,想要知道自己的实力有多少,知识掌握了多少,最好的方法就是去实践了,实践出真知嘛.于是决定在这个假期里,主要是通过项目的实践以及 ...

  5. HTML5+CSS3静态页面项目-BusinessTheme的总结

    因为期末考试.调整心态等等的种种原因,距离上一次的项目练习已经过了很久了,今天终于有时间继续练习HTML5+CSS3的页面架构和设计稿还原.设计图很长,整个页面分为了好几个区域,所以就不放完整的设计图 ...

  6. HTML5+CSS3整体回顾

    http://blog.poetries.top/2016/10/19/HTML5+CSS3%E5%9F%BA%E7%A1%80%E5%9B%9E%E9%A1%BE%20/ 这篇文章主要总结H5的一些 ...

  7. 《零基础学HTML5+CSS3(全彩版)》读书笔记

    2019年1月31日星期四 1点 <零基础学HTML5+CSS3(全彩版)>开始全面学习 前提: 11月20日开始学Python,可能因为太累了,也可能遇到了瓶颈,进入了一个迷茫期,1月6 ...

  8. html5/css3常考面试题

    一.HTML5 CSS3 CSS3有哪些新特性? 1. CSS3实现圆角(border-radius),阴影(box-shadow), 2. 对文字加特效(text-shadow.),线性渐变(gra ...

  9. 零基础学 HTML5+CSS3 全彩版 明日科技 编著

    第1章 基础知识 1.1 HTML概述 1.1.1 什么是HTML 1.1.2 HTML的发展历程 1.2 HTML文件的基本结构 1.2.1 HTML的基本结构 1.2.2 HTML的基本标记 1. ...

随机推荐

  1. 让人恼火的经历——手机H5网页被注入广告

    你的网站是否在尾部出现了让人恼火的广告? 这次我算是遇到了这些流氓的广告.那么就让我们一步步攻克这些恼火的广告吧. 问题描述 某一天下午开始,我们制作的网站就开始被各种广告注入,类似上图这种. 还有在 ...

  2. angular4 JavaScript内存溢出问题 (FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory)

    最近在写基于angular4的项目的时候,在build --prod的时候,突然措手不及的蹦出个报错,大致错误如下: 70% building modules 1345/1345 modules 0 ...

  3. call,apply和bind,其实很简单

    call和apply call和aplly作用完全一样,都是在特定的上下文中调用函数,或者说改变函数内部的this指向:区别仅在于接收参数的方式不同. var dog = { name: " ...

  4. LeetCode---------Longest Substring Without Repeating Characters解法

    题目如下: Given a string, find the length of the longest substring without repeating characters. Example ...

  5. php.ini 文件中配置的意义注释

    ;;;;;;;;;;;;;;;;;;;; About php.ini   ;  //关于php;;;;;;;;;;;;;;;;;;;; PHP's initialization file, gener ...

  6. 高效工作的秘诀——Doit.im使用总结报告

    从上次购买doit.im pro账户到现在已经快一年了,从摸索到现在的熟悉,目前这款软件已经成为我工作生活中最为重要的效率工具,在此之前也用过很多软件进行时间管理,综合起来评价,doit应该算是最棒的 ...

  7. c# .net core 下的网络请求

    本文章是在VS2017的环境下,.net core 1.1版本以上. 在这期间,由于.net core 并不基于IIS,我们的过去的网络请求代码在.net core框架下,有可能会出现不兼容,报错的现 ...

  8. 关于QT按键信号槽的总结(原创)

    QT界面按钮一般是必填的: 每个按钮都要 Go to slot 下面有几个都是常用的,先说一下 clicked:pressed:releaed的区别 字面意思看:click是点击一下,pressed是 ...

  9. Java中线程总结

    本文简要介绍在 Java 世界中, 线程相关知识.主要包含 线程的创建与销毁:线程安全与同步:线程通讯:注意本文没有什么高深新知识,只缘起前段时间在翻看项目代码的时候,发现有些同学对此有诸多误解,故在 ...

  10. Linux常用命令说明(记录自己Linux命令使用情况,后续会持续更新)

    首次记录时间--20170602 感觉自己Linux命令使用掌握的情况非常差,今天先记录当前会的几个. 1#cd(change directory) 切换工作目录(或者叫修改当前目录) eg. cd ...