练习:
注册
可以把页面的每个元素看作一个盒子
盒子边框:
案例:
.box{
width:100px;
height: 100px;
/*边框样式*/
/*border-style:solid;*/
/*边框宽度*/
/*border-width: 5px;*/
/*边框颜色*/
/*border-color:skyblue;*/
/*复合样式*/
border:5px solid skyblue;
/*上边框*/
border-top: 10px double blueviolet;
/*右边框*/
border-right: 10px dotted deepskyblue;
/*下边框*/
border-bottom: 10px dashed burlywood;
/*左边框*/
border-left: 10px solid skyblue;
}
padding-top:上内边距
padding-right:右内边距
padding-bottom:下内边距
padding-left:左内边距
padding:30px 30px 30px 30px(顺序依次是上右下左,顺时针)
案例:
life is short,u need python
.content{
width: 200px;
height: 200px;
border: 1px solid skyblue;
/*上内边距*/
/*padding-top: 20px;*/
/*右内边距*/
/*padding-right: 10px;*/
/*下内边距*/
/*padding-bottom: 30px;*/
/*左内边距*/
/*padding-left: 10px;*/
/*复合属性*/
/*上下 左右*/
/*padding:10px 20px;*/
/*上 左右 下*/
/*padding:20px 10px 30px;*/
/*上 右 下 左*/
padding:20px 10px 30px 20px;
}
- 盒子模型之外边距:
- margin-top:上外边距
- margin-right:右外边距
- margin-bottom:下外边距
- margin-left:左外边距
Title
hahahaha
#下图中hahahaha距离上下边框距离是100px,距离两边页面距离是50px
简单样式:
*{
padding:0;
margin:0;
} #*表示通配符
完全重置:
/* http://meyerweb.com/eric/tools/css/reset/
v2.0 | 20110126
License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
display: block;
}
body {
line-height: 1;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
1111
222222
33333333
父元素设置
.box{
overflow:hidden
}
添加一个空div
.clear{
clear:both
}
使用伪元素(常用)
.clearfix:after{
/*此元素将显示为块级元素,此元素前后会带有换行符*/
display:block;
/*清除浮动*/
clear:both;
/*content 属性与 :before 及 :after 伪元素配合使用,来插入生成内容*/
content:""
}
定位一定要找好参照物,找好了参照物,那你就成功一半了
默认值是静态定位,不会发生任何变化
相对定位,不会脱离文档流,以自身默认位置为参考,可以给 top/right/bottom/left,上右下左都是相对于自己的默认位置
绝对定位,可以脱离文档流,默认以整个文档为参考,有定位父级则以父级为参考,父级动也随着动,可以给top/right/bottom/left
固定定位,脱离文档流,默认以窗口为参考,可以给top/right/bottom/left,窗口滚动,依然不会变,
父相子绝:父级是相对定位,子级就是绝对定位,如果父级不是相对定位,就找父级的父级,直到找到相对定位的或者网页,用于子级相对于父级的位置进行定位
固定定位以网页为参照物,脱离文档流,始终固定于浏览器视图某个位置,且不随滚动条滚动而变化,应用重点:元素参照已定位父级绝对定位
代码1:
div{
width: 100px;
height: 100px;
}
.box1{
background: skyblue;
/*相对定位*/
position: relative;
left:100px;
top:30px;
}
.box2{
background: blueviolet;
}
代码2:
div{
width: 100px;
height: 100px;
}
.box1{
background: skyblue;
/*绝对定位*/
position: absolute;
left:20px;
top:20px;
}
.box2{
background: blueviolet;
}
代码3:(固定定位,脱离文档流)
html,div{
height: 1000px;
}
div{
width:100px;
height:100px;
}
.box1{
background: skyblue;
/*固对定位*/
position: fixed;
bottom:40px;
right:30px;
}
.box2{
background: blueviolet;
}
#box2始终固定于浏览器视图某个位置,且不随box1位置和滚动条滚动而变化
代码4:(应用重点:元素参照已定位父级绝对定位)
.parent{
width: 150px;
height: 150px;
border: 1px solid #000;
margin: 50px auto;
position: relative;
}
.child{
width: 50px;
height: 50px;
background: skyblue;
position: absolute;
top:10px;
left:20px;
}