display:block; 允许设定宽高,添加换行符
display:inline-block:允许设定宽高,且不添加换行符,因此该元素可以位于其他元素旁边
display:inline:设定宽高无效,且不添加换行符,因此该元素可以位于其他元素旁边
使文字等比例放大缩小全局设定:font-size:25px;有文字的元素中设定font-size:0.25rem
注:10px=1em
块级标签弹性布局: 父元素设定使子元素上下左右垂直:display: flex; justify-content: center; align-items: center;
父元素:display: table; 子元素: display: table-cell; vertical-align: middle; text-align: center;
子元素设定固定高度:height: 100px;text-align: center; line-height: 100px;
text-overflow: ellipsis;overflow: hidden; white-space:nowrap
overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
去除默认间隙:父元素: font-size:0; letter-spacing: -4px;
子元素: display: inline-block
为什么清除浮动
1.当父元素不设定高度时,高度由子元素的内容决定.但子元素为浮动时,父元素的高度为0
2.为了避免产生浮动,父组件的背景或边框不能正确显示,这个时候我们就需要clear:both清除浮动
不清除浮动
清除浮动
可使用overflow:hidden或者clear:both
overflow:hidden-----------在父组件中用
clear:both-----------创建同级子组件,样式中增加
功能:before,after 在元素内容前后加入指定内容
.flex_container:after{
content: '';
display: inline-block; /*使设定的宽高有效*/
width: 0;
height: 0;
border: 16px solid transparent; /*transparent:透明*/
border-left: 16px solid #b31d1d;
/* border-top: 16px solid #54b31d;
border-right: 16px solid #b7ca0d;
border-bottom: 16px solid #1815b8; */
position: relative;
top: 2px;
left: 10px;
}
如果设定全部的border
width: 100px;height:100px;position:absolute; left:0;right:0; top:0;bottom:0;margin:auto;
width:20%; height: 20%; position: absolute; top:50%; left:50%; transform: translate(-50%,-50%); background-color: orange;
.main{
width: 400px;
height: 400px;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%,-50%);
background-color: darkturquoise;
padding: 10px;
border-radius:40%;
animation: wave 5s linear infinite;
}
@keyframes wave{
100%{
transform: translate(-50%,-50%) rotate(360deg);
}
}
原图:
border-image/border | demo | 样列 |
---|---|---|
round | border-image: url('./image/border.png') 30 30 round; | |
stretch | border-image: url('./image/border.png') 30 30 stretch; | |
double | border: 12px double #b1a4a4; | |
groove | border: 4px groove #5a9fe9; | |
ridge | border: 4px ridge #5a9fe9; | |
inset | border: 4px inset #5a9fe9; | |
outset | border: 4px outset #5a9fe9; | |
inherit | #inheritPartent{border:1px dotted #5a9fe9; } #inheritChildren{ border:inherit } |
background-image:linear-gradient(45deg,red,yellow)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>清除浮动</title>
<style>
*{
margin:0;
padding:0;
}
.flex_container{
border:1px solid #0aabb1;
}
.clear{
clear: both;
}
.flex_item-left{
width:10rem;
height: 10rem;
border:1px solid #0aabb1;
float: left;
}
.flex_item-right{
width:10rem;
height: 10rem;
border:1px solid #0aabb1;
float: right;
}
</style>
</head>
<body>
<div class="flex_container">
<div class="flex_item-left"></div>
<div class="flex_item-right"></div>
<div class="clear"></div>
</div>
</body>
</html>
<style>
html,body{
margin:0;
padding:0;
height:100%;
}
.flex_container {
width: 50%;
height: 50%;
background-color: #bff7d4;
margin: 0 auto;
margin-top: 15%;
/*去除普通流布局子元素之间的div间隙*/
font-size:0;
letter-spacing: -4px;
}
.flex_item{
width: 15%;
height: 50%;
background-color: palevioletred;
margin: 0 auto;
/* 普通流布局 */
display: inline-block; /*子元素在一样*/
}
</style>
<div class="flex_container">
<div class="flex_item"></div>
<div class="flex_item"></div>
<div class="flex_item"></div>
<div class="flex_item"></div>
<div class="flex_item"></div>
</div>
<style>
html,body{
margin:0;
padding:0;
height:100%;
}
.flex_container {
width: 50%;
height: 50%;
background-color: #bff7d4;
margin: 0 auto;
margin-top:10%;
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
}
.flex_item{
width: 20%;
height: 50%;
background-color: palevioletred;
margin: 0 auto;
margin-right: 1%;
text-align: center;
position: relative;
background-image: url('./油彩.jpeg'); /*图片背景颜色 ---当图片想要填充到一个div中时*/
background-position: 50% 50%; /*图片居中*/
background-size: 90% 90%; /* 图片大小*/
background-repeat: no-repeat;/*图片只有一张,不重复*/
}
</style>
<div class="flex_container">
<div class="flex_item"></div>
<div class="flex_item"></div>
<div class="flex_item"></div>
<div class="flex_item"></div>
<div class="flex_item"></div>
</div>
<style>
html,body{
margin:0;
padding:0;
height:100%;
}
.flex_container {
width: 50%;
height: 50%;
background-color: #bff7d4;
margin: 0 auto;
}
.flex_item{
width: 50%;
height: 40px;
background-color: palevioletred;
margin: 0 auto;
/* 文字多行-超出显示为省略号 */
overflow: hidden;
display: -webkit-box;
-webkit-line-clamp: 2; /*表示显示的行数,溢出加省略号*/
-webkit-box-orient: vertical;/*从上到下垂直排列子元素(设置伸缩盒子的子元素排列方式)*/
}
</style>
<div class="flex_container">
<div class="flex_item">文字居中文字居中文字居中文字居中文字居中文字居中文字居中文字居中文字居中文字居中文字居中文字居中文字居中文字居中文字居中文字居中文字居中文字居中</div>
</div>
<style>
html,body{
margin:0;
padding:0;
height:100%;
}
.flex_container {
width: 50%;
height: 50%;
background-color: #bff7d4;
margin: 0 auto;
}
.flex_item{
width: 50%;
height: 100px;
background-color: palevioletred;
margin: 0 auto;
/* 文字一行-超出显示为省略号 */
text-overflow: ellipsis;
overflow: hidden;
white-space:nowrap;/*文本不会换行,文本会在在同一行上继续,直到遇到 <br> 标签为止 */
}
</style>
<div class="flex_container">
<div class="flex_item">文字居中文字居中文字居中文字居中文字居中文字居中文字居中文字居中文字居中</div>
</div>
<style>
html,body{
margin:0;
padding:0;
height:100%;
}
.flex_container {
width: 50%;
height: 50%;
background-color: #bff7d4;
margin: 0 auto; /*div 左右居中*/
}
.flex_item{
width: 50%;
height: 100px;
background-color: palevioletred;
margin: 0 auto;
text-align: center;/*文字左右居中*/
line-height: 100px;/*文字垂直居中*/
}
</style>
<!-- 准备好一个容器 -->
<div class="flex_container">
<div class="flex_item">文字居中</div>
</div>
<style>
html,body{
margin:0;
padding:0;
height:100%;
}
.flex_container {
width: 50%;
height: 500px;
background-color: #bff7d4;
/* margin: 0 auto;
line-height: 500px; */
display: table;
}
.flex_item{
width: 50%;
height: 50%;
background-color: palevioletred;
display: table-cell;
vertical-align: middle;/*垂直居中*/
text-align: center;/*水平居中*/
}
</style>
<div class="flex_container">
<div class="flex_item">文字居中</div>
</div>
<style>
/* 宽度高度为整个屏幕 */
html,body{
margin:0;
padding:0;
/* 宽度不用设置,默认为100% */
height:100%;
font-size: 25px;
}
/* 使div上下左右居中 */
.flex_container {
width: 50%;
height: 50%;
background-color: #bff7d4;
margin: 0 auto;
margin-top: 5%;
display: flex; /*弹性布局*/
flex-direction:row;/*子元素横向排列*/
justify-content: center;/*相对父元素水平居中-包括行和块级元素*/
align-items: center; /*相对父元素垂直居中*/
}
.flex_item{
width: 20%;
height: 50%;
margin-right: 2%;
background-color: palevioletred;
text-align: center; /* 文字居中 */
font-size: 0.25rem;
/*
1.定义了项目的放大 比例,如果为0,即使有剩余空间也不会放大
2.如果取值为负数那么和0的取值效果相同
*/
flex-grow: 0;
/* font-size: 0.16em; */
}
</style>
<!-- 准备好一个容器 -->
<div class="flex_container">
<div class="flex_item">文字居中</div>
<div class="flex_item">文字居中</div>
<div class="flex_item">文字居中</div>
<div class="flex_item">文字居中</div>
<span>文字居中</span>
</div>