none:没有边框
solid:边框为单实线————最常用
dashed:边框为虚线
dotted:边框为点线
double:边框为双实线
<style>
div{
width: 200px;
height: 200px;
text-align: center;
border-width: 10px;
border-color: darkgrey;
border-style: double;
}
.hao{
border: 2px blue solid;
}
.mi{
border-top: 2px red dashed;
border-bottom:2px green dashed ;
}
style>
head>
<body>
<div>我是一个盒子div>
<hr>
账号:<input type="text" class="hao"> <br>
密码:<input type="password" class="mi"> <br>
50% ———— 圆
20px ———— 一般情况
10px 40px ———— 左上角和右下角
10px 40px 80px ———— 左上角 右上角和右下角
10px 40px 80px 100px ————左上右上右下左下
<style>
div{
width: 200px;
height: 100px;
border-width: 2px;
border-color: #01800b;
border-style: dashed;
}
.he1{
border-radius: 100px;
}
.he2{
border-radius: 20px 40px;
}
.he3{
border-radius: 20px 40px 60px;
}
.he4{
border-radius: 20px 40px 60px 80px;
}
style>
head>
<body>
<div class="he1">div> <br>
<div class="he2">div><br>
<div class="he3">div><br>
<div class="he4">div>
10px———— 上下左右
10px 30px————上10下30
10px 30px 40px———上10左右30下40
10px 30px 40px————上右下左(顺时针)
条件
- 必须是块级元素
- 必须指定宽度width
- 左右外边距设置为auto
div{
width: 200px;
height: 100px;
border: 2px cornflowerblue solid;
padding: 30px;
background-color: pink;
margin: 30px auto;————————————设置盒子居中
text-align: center;————————————设置文本在div中居中
line-height: 80px; ——————————设置行高使文字在盒子中居中
}
外边距合并问题
- 定义:当上下相邻的两块元素相遇时 上面块元素有下边距margin-bottom 下面块元素有上边距margin-top时 他们之间的距离不是两个距离之和 而是较大的距离
<style>
#l1{
width: 300px;
height: 300px;
background-color: cornflowerblue;
margin: 30px;
border: 2px red solid;
}
#l2{
width: 200px;
height: 200px;
background-color: pink;
margin-top: 30px;
}
style>
head>
<body>
<div id="l1">
<div id="l2">div>
div>
div{
width: 300px;
height: 300px;
border: 2px lightslategrey solid;
margin: 60px;
box-shadow: 5px 5px 10px 10px rebeccapurple;
}
div{
width: 200px;
height: 200px;
background: pink;
display:inline-block;
}
div{)
width: 200px;
height: 200px;
background: pink;
float: left;
}
.fu1{
width: 1400px;
height: 200px;
background-color: darkgrey;
margin: 10px;
}
.zi1{
width: 500px;
height:150px ;
background-color: greenyellow;
margin: 30px;
float: left;
}
行内元素和块级元素在添加浮动之后 具有行内块的特性
- 行内块特性:一行可以放多个元素 有宽度和高度 盒子的大小是由内容决定的
前提条件:不给出width宽度
<style>
div{
height: 200px;
background-color: pink;
float: left;
margin: 10px;
}
span{
height: 100px;
background-color: lightskyblue;
margin: 10px;
float: left;
}
style>
head>
<body>
<div>爱情公寓1div>
<div>爱情公寓2div>
<span>爱情公寓3span>
<span>爱情公寓5span>
爱情公寓5
很多情况下 嵌套父级元素不需要给高度 由子元素自行决定
————问题:当子元素浮动时 脱离标准流 而父盒子没有高度时 不会被撑开盒子 下面的元素就会跑到上面来
————解决方法:三个 如下
<style>
.box1{
width: 600px;
background-color: pink;
}
.z1{
width: 300px;
height: 200px;
background-color: skyblue;
float: left;
}
.z2{
width:450px;
height: 200px;
background-color: lightseagreen;
float: left;
}
.box2{
width: 500px;
height: 300px;
background-color: lightgreen;
}
.kong{
clear: both;
}
style>
head>
<body>
<div class="box1">
<div class="z1">div>
<div class="z2">div>
<div class="kong">div>
div>
<div class="box2">div>
.box1{
width: 600px;
background-color: pink;
margin: 0 auto;
overflow: hidden;
}
:after{
content: '';
display: block;
clear: both;
}
元素的定位主要分为定位模式和边偏移两部分
top——向上
bottom——向下
left——向左
right——向右
div {
width: 300px;
height: 200px;
background-color: pink;
top: 100px;
left: 200px;
position: static;
}
注意:相对定位的盒子仍在标准流中 不脱标!!!占有位置
<style>
div {
width: 150px;
height: 150px;
background-color: pink;
}
#two{
background-color: lightskyblue;
left: 150px;
position: relative;
}
style>
head>
<body>
<div>div>
<div id="two">div>
<div>div>
注意:绝对定位的盒子脱标!!! 不占位置
子绝父相
子元素用绝对定位————————保证子元素在父级元素中
父级元素用相对定位 —————————保证父级元素不脱离标准流 仍占有位置
.father{
width: 300px;
height: 300px;
background-color: lightskyblue;
position: relative;
}
.son{
width: 150px;
height: 80px;
background-color: lightpink;
position: absolute;
top: 15px;
left: 15px;
}
<style>
.father,div{
width: 500px;
height: 500px;
background-color: lightskyblue;
margin: 100px auto;
}
img{
position: fixed;
top: 0px;
left: 0px;
}
style>
head>
<body>
<div class="father">
<img src="淘宝.jpg" alt="图片" width="200">
div>
<div>div>
<div>div>
<style>
div{
width: 200px;
height: 200px;
background-color: lightpink;
position: absolute;
top: 0;
left: 0;
}
div:first-child{
z-index: 1;
}
div:nth-child(2){
background-color: lightblue;
top: 60px;
left: 60px;
z-index: 2;
}
div:nth-child(3){
background-color: lightgreen;
top: 120px;
left: 120px;
}
style>
head>
<body>
<div>div>
<div>div>
<div>div>