1. Conocimientos preliminares
Colapso de caja CSS y soluciones
Soluciones convencionales:
Agregue la pseudoclase posterior para el cuadro externo y establezca el atributo clear para borrar el flotante.
父盒子::after {
content: "";
/* 清除两边的浮动 */
clear: both;
/* 也可以使用display:table; */
display: block;
/* 兼容IE浏览器 */
zoom: 1;
}
Enlace original: http://t.csdn.cn/5lxjm
configuración de márgenes
La propiedad abreviada de margen establece las propiedades de margen de todos los elementos actuales o especificados en una sola declaración. Este atributo puede tener de 1 a 4 valores.
Hay 4 formas de escribir margen, de la siguiente manera:
margin: 像素值1;
margin: 像素值1 像素值2;
margin: 像素值1 像素值2 像素值3;
margin: 像素值1 像素值2 像素值3 像素值4;
Las cuatro posiciones anteriores están en orden: margen superior - margen derecho - margen inferior - margen izquierdo , es decir, " arriba - derecha - abajo - izquierda ". Las siguientes abreviaturas son arriba - derecha - abajo - izquierda . Lo que hay que tener en cuenta es que en los últimos tres casos, cuando hay un valor de píxel predeterminado , el navegador asignará automáticamente el píxel predeterminado de acuerdo con los métodos " inferior = superior " e " izquierda = derecha ".
Por ejemplo:
"margin:20px;" significa que los márgenes en las cuatro direcciones son 20px;
"margen:20px 40px;" significa que la parte superior es de 20px y la derecha es de 40px; dado que la parte inferior y la izquierda son predeterminadas, se configuran automáticamente en 20px y 40px respectivamente. Convertido a la cuarta forma de escritura: "margen: 20px 40px 20px 40px;".
"margen:20px 40px 60px;" significa que la parte superior es 20px, la derecha es 40px y la parte inferior es 60px; como la izquierda es la predeterminada, se establece automáticamente en 40px. Convertido al cuarto método de escritura: "margen: 20px 40px 60px 40px;".
Cabe señalar que una situación no se puede escribir como método de escritura predeterminado: "margen: 20px 40px 20px 60px;". En este ejemplo, dado que la parte superior y la inferior son iguales, pero la derecha y la izquierda son diferentes, la parte inferior no puede tener el valor predeterminado; de lo contrario, será equivalente a "margen: 20px 40px 60px 40px;".
flotar
La aplicación más típica de los flotadores: permitir que se muestren en una fila múltiples elementos a nivel de bloque.
La primera regla del diseño de una página web: varios elementos a nivel de bloque dispuestos verticalmente buscan un flujo estándar, varios elementos a nivel de bloque dispuestos horizontalmente buscan un flujo flotante.
Enlace original: http://t.csdn.cn/23Tyq
Explicación detallada del uso del radio de borde
2. Código
índice.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="tit">
<h3>今天也有在认真生活</h3>
</div>
<div class="time-axis clearfix">
<div class="left">
<span class="dot"></span>
<span class="jiantou"></span>
<div class="con"></div>
</div>
<div class="right">
<span class="dot"></span>
<span class="jiantou"></span>
<div class="con"></div>
</div>
</div>
</body>
</html>
estilo.css
body {
margin: 0;
background-image: linear-gradient(to right,#fdf1d8,#b1bbf9);
}
.tit {
width: 500px;
/* border: 2px solid red; */
margin: 50px auto 0px;
text-align: center;
font-size: 40px;
/* color: #b1bbf9; */
}
.clearfix::after {
content: "";
clear: both;
display: block;
}
.time-axis {
/* 右边盒子设为右浮动 最外层盒子的宽度+4 则右边盒子右移4px 使得时间轴对齐 */
width: 604px;
/* height:700px; */
/* border:2px solid red; */
/* 上右下左 左缺省 和右边保持一致 */
margin: 50px auto 10px;
}
.time-axis .left {
width: 300px;
/* height: 300px; */
/* background-color: beige; */
float: left;
border-right: 4px solid #b1bbf9;
position: relative;
}
.time-axis .right {
width: 300px;
/* height: 300px; */
/* background-color: azure; */
float: right;
border-left: 4px solid #b1bbf9;
position: relative;
}
.time-axis .dot {
width: 10px;
height: 10px;
display: block;
background-color: #fff;
border: 2px solid #b1bbf9;
border-radius: 7px;
position: absolute;
/* right:0的时候圆点到左盒子的最右边,为了使其在时间轴的正中间,需要继续右移圆点大小的一半(即7px)+时间轴的宽度一半(即2px) */
top: 50%;
margin-top: -7px;
}
.time-axis .left .dot {
right: -9px;
}
.time-axis .right .dot {
left: -9px;
}
.time-axis .jiantou {
width: 0px;
height: 0px;
/* background-color: red; */
display: block;
border: 20px solid transparent;
border-left: 20px solid white;
position: absolute;
right: -8px;
top: 50%;
margin-top: -20px;
}
.time-axis .right .jiantou {
border: 20px solid transparent;
border-right: 20px solid white;
position: absolute;
left: -8px;
}
.time-axis .con {
/* height: 200px; */
background-color: #fff;
padding: 15px;
border-radius: 20px;
text-align: center;
}
.time-axis .left .con {
margin-right: 30px;
}
.time-axis .right .con {
margin-left: 30px;
}
h3{
margin: 0;
}
.time-axis .con h3 {
/* border: 1px solid red; */
font-size: 400;
}
.time-axis .con h3 span {
font-size: 38px;
font-family:Arial, Helvetica, sans-serif;
color: #b1bbf9;
}