前言:css
1.HTML5的发展很是迅速,能够说已是前端开发人员的标配,在电商类型的APP中更是运用普遍,这个系列的文章是本人本身整理,尽可能将开发中不经常使用到的剔除,将常用的拿出来,使须要的朋友可以真正快速入门,若是有哪些不清楚的地方或者错误,欢迎联系我
2.更新时间没有规律,通常会在3天左右更新一篇(全系列预计会有12篇)由于须要工做,因此只能在闲暇之余整理,若是有喜欢的朋友能够关注我,将会第一时间得到更新信息
3.若是有须要Reactive Native + H5跨平台开发的朋友,能够联系我,在本系列结束以前会根据需求的程度决定是否继续
4.全系列文章最后尽量地附上综合实例,帮助朋友更好地理解
5.此系列会涉及到HTML、CSS、JavaScript等html
另:有不少朋友私聊我说图片不能正常显示的问题,测试后发现简书上能够在windows和mac端完美显示,若是看不到图片麻烦移步简书连接前端
color:blue; background-color:green; font-size:15px;
行内样式(内联样式):在标签的style属性中书写(标签都有style属性)
css3
<!-- 行内样式 --> <!-- 字体大小为25,颜色绿色,背景色亮灰 --> <div style="font-size: 25px; color: green; background-color: lightgrey;">div容器</div> <!-- 字体颜色蓝色,边框宽度为1且为黑色 --> <h2 style="color: blue;border: 1px double black;">Cascading Style Sheets</h2>
效果:
windows
业内样式:在本网页的style标签中书写(由于body标签用来描述内容和结构,其它东西都放到head中,因此将业内样式写在head标签内)数组
<head> <meta charset="UTF-8"> <title>CSS页内样式</title> <!-- 页内样式 --> <style> /* 标签选择器 */ /* div文字颜色为蓝色,字体大小25,边框为红色单边框 */ div{ color: blue; font-size: 25px; border:2px solid red; } /* p文字颜色为橘色,字体17,边框为紫色双边框宽度为5 */ p{ color: orange; font-size: 17px; border:5px double blueviolet; } </style> </head> <body> <div>div容器div容器div容器div容器div容器</div> <div>div容器div容器div容器div容器div容器</div> <div>div容器div容器div容器div容器div容器</div> <div>div容器div容器div容器div容器div容器</div> <div>div容器div容器div容器div容器div容器</div> <p>段落段落段落段落段落段落段落段落</p> <p>段落段落段落段落段落段落段落段落</p> <p>段落段落段落段落段落段落段落段落</p> <p>段落段落段落段落段落段落段落段落</p> <p>段落段落段落段落段落段落段落段落</p> </body>
效果:浏览器
外部样式:在单独的CSS文件中书写,而后在网页中用link标签进行引用
- 先新建一个css文件,在css文件内书写咱们须要的样式
布局
``` div{ color: blue; font-size: 25px; border:2px solid red; } p{ color: orange; font-size: 17px; border:5px double blueviolet; } ``` - 而后引入外部样式 <br><br> ``` <head> <meta charset="UTF-8"> <title>CSS外部样式</title> <!-- 引入外部样式 --> <link rel="stylesheet" href="css/index.css"> </head> <body> <div>div容器div容器div容器div容器div容器</div> <div>div容器div容器div容器div容器div容器</div> <div>div容器div容器div容器div容器div容器</div> <div>div容器div容器div容器div容器div容器</div> <div>div容器div容器div容器div容器div容器</div> <p>段落段落段落段落段落段落段落段落</p> <p>段落段落段落段落段落段落段落段落</p> <p>段落段落段落段落段落段落段落段落</p> <p>段落段落段落段落段落段落段落段落</p> <p>段落段落段落段落段落段落段落段落</p> </body> ```
效果:
测试
<style> /* 标签选择器 */ /* div文字颜色为蓝色,字体大小25,边框为红色单边框 */ div{ color: blue; font-size: 25px; border:2px solid red; } </style>
使用场景:一次性设置对应标签的时候字体
类选择器
/* 类选择器 */ .test1{ color: red; font-size: 30px; border:5px double green; }
<div class="test1">类选择器</div> <p class="test1">类选择器</p>
使用场景:让须要它的标签主动去使用它
id选择器
/* ID选择器 */ #main{ font-size: 50px; }
<div id="main">id选择器</div>
使用场景:全局只让一个标签占有(独一无二)
并列选择器(能够理解为或)
/* 并列选择器(或) */ #main, .test1{ border:10px solid orange; }
使用场景:只要有其中一个选择器就可使用选择器内的样式
复合选择器(能够理解为且)
/* 复合选择器(且,前面不能够是ID选择器) */ p.test1{ color: yellow; }
使用场景:同时拥有2个选择器的标签即可以使用选择器内的样式
后代选择器
/* 后代选择器 前面为父标签,后面为子标签 */ div a{ color: darkgray; }
使用场景:设置父标签内的全部子标签(包括子标签内的相同标签的子标签)的时候
直接后代选择器
/* 直接后代选择器 */ div > p{ font-size: 90px; }
使用场景:设置父标签的子标签的时候
伪类
input:focus{ /* 得到焦点 */ }
使用场景:当标签激活焦点的时候触发
伪元素:和伪类使用类似
div.test1:first-letter{ }
div + p{ }
注意条件:相邻,且同一级
div[name]{ } div[name="Tom"]{ } div[name][age]{ }
*{ }
选择器类型 | 权值 |
---|---|
通配选择符 | 0 |
标签选择器 | 1 |
类选择器 | 10 |
属性选择器 | 10 |
伪类 | 10 |
伪元素 | 1 |
id选择器 | 100 |
important | 1000 |
<style> /* div标签选择器 */ div{ /*背景色*/ background-color: yellow; } </style> <body> <div>我是div容器</div> <div>我是div容器</div> <div>我是div容器</div> </body>
效果:
<style> /* span标签选择器 */ span{ /*背景色*/ background-color: red; } </style> <body> <span>我是span容器</span> <span>我是span容器</span> <span>我是span容器</span> <span>我是span容器</span> </body>
效果:
[Uploading Snip20160614_7_103697.png . . .]
``` <style> /* input标签选择器 */ input{ /*背景色*/ background-color: yellow; } </style> <body> <input type="text"> <input type="date"> <input type="text"> <input type="date"> </body> ``` 效果:
div{ /*设置背景色*/ background-color: red; } /* 隐藏 */ .noneDiv{ display: none; /*设置背景色*/ background-color: yellow; } /* 块级 */ .blockInput{ display: block; /*设置背景色*/ background-color:orange; } /* 行内 */ .inlineDiv{ display: inline; /*设置背景色*/ background-color: green; } /* 行内-块级 */ .inline-blockDiv{ display: inline-block; /*设置背景色*/ background-color: gray; } </style> <body> <div>默认的div</div> <div class="noneDiv">隐藏div标签</div> <div class="inlineDiv">变成行内标签的div</div> <div class="inline-blockDiv">变成行内-块级标签的div</div><br><br> <!--默认的input--> <input type="text"> <input type="text"> <!--变成块级标签的input--> <input class="blockInput" type="text"> <input class="blockInput" type="text"> </body>
效果:
<style> div{ /*高*/ height:100px; /*背景色*/ background-color: yellow; } /* 隐藏 */ .hiddenDiv{ visibility: hidden; } </style> <body> <div>div</div> <div class="hiddenDiv">隐藏的div</div> <div>div</div> </body>
效果:
line-height
、color
、font-family
、font-size
、font-style、font-variant、font-weight
、text-decoration
、text-transform、direction)text-indent
、text-align
)list-style
、list-style-type、list-style-position、list-style-image)<style> /* 文字控制类 */ body{ color:red; font-size:25px; } </style>
<style> /* 区块控制类 */ div{ color:red; font-size:25px; } </style>
<style> div{ /*这边直接使用复合属性padding:属性顺序为上\右\下\左(顺时针)若是只设置2个值,那么第一个值指上下,第二个值指左右*/ padding: 25px 20px; /*背景颜色*/ background-color: blue; } </style> <body> <div>div标签div标签</div> </body>
效果:
<style> div{ /*外边距和内边距类似*/ margin: 30px 40px; /*背景颜色*/ background-color: darkmagenta; } </style> <body> <div>div标签div标签</div> </body>
效果:
<style> div{ /*边框设置 宽21px 双框 红色*/ border: 20px double red; } </style> <body> <div>div标签div标签</div> </body>
效果:
<style> div{ /*设置宽高*/ width: 200px; height: 50px; } .test1{ background-color: rgba(123,0,0,1.0); } .test2{ background-color: rgba(123,0,0,0.8); } .test3{ background-color: rgba(123,0,0,0.0); } .test4{ background-color: rgba(123,0,0,0.6); } .test5{ background-color: rgba(123,0,0,0.4); } .test6{ background-color: rgba(123,0,0,0.2); } </style> <body> <div class="test1">div1.0</div> <div class="test2">div0.8</div> <div class="test3">div0.0</div> <div class="test4">div0.6</div> <div class="test5">div0.4</div> <div class="test6">div0.2</div> </body>
效果:
<style> div { /*设置宽高*/ width: 200px; height: 50px; /*设置背景色*/ background-color: red; /*设置不透明度*/ opacity:0.35; } </style> <body> <div>div1.0</div> </body>
效果:
<style> div { /*设置宽高*/ width: 200px; height: 50px; /*设置背景色*/ background-color: red; /*设置外边距*/ margin: 20px; /*设置块阴影 参数一:水平偏移 参数二:垂直偏移 参数三:模糊距离 参数四:阴影颜色 */ box-shadow: 10px 10px 10px blue; } </style> <body> <div>div</div> <div>div</div> <div>div</div> <div>div</div> <div>div</div> </body>
效果:
<style> div { /*设置宽高*/ width: 200px; height: 50px; /*设置背景色*/ background-color: red; /*设置外边距*/ margin: 20px; } .test1{ /*底部左边*/ border-bottom-left-radius: 30px; } .test2{ /*顶部右边*/ border-top-right-radius: 30px; } .test3{ /*底部右边*/ border-bottom-right-radius: 30px; } .test4{ /*顶部左边*/ border-top-left-radius: 30px; } .test5{ /*四个角*/ border-radius: 10px; } </style> <body> <div class="test1">div</div> <div class="test2">div</div> <div class="test3">div</div> <div class="test4">div</div> <div class="test5">div</div> </body>
效果:
<style> #main{ background-color: yellow; width: 350px; height: 200px; } .test1{ background-color: red; float: left; } .test2{ background-color: blue; float: right; } </style> <body> <div id="main"> <div class="test1">左</div> <div class="test2">右</div> </div> </body>效果:
<style> #main{ background-color: yellow; width: 350px; height: 200px; } .test1{ background-color: red; position: absolute; top: 20px; left: 20px; } .test2{ background-color: blue; position: absolute; bottom: 20px; right: 20px; } </style> <body> <div id="main"> <div class="test1">左</div> <div class="test2">右</div> </div> </body>效果:
<style> #main{ background-color: yellow; width: 350px; height: 200px; /*设置内容水平居中(可继承)*/ text-align: center; } span{ background-color: blue; } </style> <body> <div id="main"> <span>行内标签</span> </div> </body>效果:
<style> #main{ background-color: yellow; width: 350px; height: 200px; /*设置内容水平居中(可继承)*/ text-align: center; } .test1{ width: 200px; background-color: blue; text-align: center; margin-left: auto; margin-right: auto; /*或者*/ /*margin: 0 auto;*/ } </style> <body> <div id="main"> <div class="test1">块级标签</div> </div> </body>效果:
<style> #main{ background-color: yellow; width: 350px; height: 200px; /*设置内容水平居中(可继承)*/ text-align: center; } .test1{ width: 350px; height: 30px; background-color: blue; /*设置垂直居中,让它等于父标签的高度*/ line-height: 200px; } </style> <body> <div id="main"> <span class="test1">行内标签</span> </div> </body>效果:
<style> #main{ background-color: yellow; width: 350px; height: 200px; /*设置内容水平居中(可继承)*/ text-align: center; /*告诉父标签使用绝对定位*/ position: relative; } .test1{ width: 200px; height: 30px; background-color: blue; /*重写,设置内容居中*/ line-height: 30px; margin: 0 auto; /*设置相对路径*/ position: absolute; top:50%; left:50%; /*平移使其与父标签居中显示*/ transform: translate(-50%, -50%); } </style> <body> <div id="main"> <span class="test1">行内标签</span> </div> </body>效果:
昨晚的文章不完整,这个才是第二篇的完整版,对形成的不便感到抱歉,综合实例单独作一篇吧!