1. 程式人生 > >關於聖杯、雙飛翼布局

關於聖杯、雙飛翼布局

title clas nsf text ren sky none span border

<!DOCTYPE html>
<html>
<head>
<title>附加案例</title>
<style type="text/css">
body{
background: #ccc;
margin: 0;
padding: 0;
}
.container{
--width: 400px;
width:calc(var(--width) * 2);
height: var(--width);
margin: 0 auto;
background: skyblue;
border: 1px solid #000;
perspective: 2000px;
perspective-origin: right top;
box-sizing: border-box;
}
.box{
box-sizing: border-box;
background: yellow;
width: 100%;
height:100%;
transform:rotateY(0deg);
transform-origin:100%;
backface-visibility: visible;
}
.container:hover .box{
transform: rotateY(90deg);
}
.box{
text-align: center;
transition: 2s;
line-height: var(--width);
letter-spacing: 2em;
font-size: 20px;
}
.container2{
text-align: center;
background: #555;
border-radius: 5px;
width: 200px;
height: 50px;
line-height: 50px;
box-shadow: -1px 1px 3px rgba(25,25,25,.9),-1px 0px 2px rgba(225,225,225,.6) inset;
position: relative;
transition: 1s;
border: 1px solid rgba(25,25,25,0.5);
color: #fff;
text-shadow:-2px 1px 2px #000;
}
.container2:after{
content: "";
display: inline-block;
width: 50%;
height: 1px;
background: linear-gradient(to right,transparent,#fff,transparent);
position: absolute;
left: 0;
top: 0;
border-radius: 100%;
transition: 1s;
}
.container2:hover{
box-shadow: 1px 1px 5px rgba(25,25,25,.9);
text-shadow: 2px 2px 2px #000;
}
.container2:hover:after{
left: 50%;
}
.container3{
width: calc(100% - 10px);
height: 400px;
margin: 0 auto;
border: 1px solid #000;
box-sizing: border-box;
}
ul{
overflow: hidden;
padding: 0;
margin-right: -12px;
}
li{
float:left;
height:10em;
background:#FF6666;
border: 1px solid #ccc;
width:calc(33.33% - 1px * 6);
list-style: none;
}
.container4{
background: skyblue;
overflow: hidden;
padding: 0 220px 0 200px;
}
/*.box1{
width: 200px;
background: #ddd;
float: left;
margin: 0 50px 0 0;
}
.box3{
width: 300px;
background: #000;
color: #fff;
float: left;
margin: 0 0 0 50px;
}
.box2{
background: yellow;
float: left;
width: calc(100% - 600px);
}*/
.box1,.box2,.box3{
position: relative;
float: left;
}
.box1{
width: 200px;
background: red;
margin-left: -100%;
left: -200px;
}
.box3{
width: 220px;
background: green;
margin-right:-220px;
}
.box2{
background: blue;
width: 100%;
}
.container5{
background: #000;
overflow: hidden;
}
.middle,.left,.right{
position: relative;
float: left;
}
.middle{
width: 100%;
background: red;
}
.inner{
margin:0 200px 0 300px;
background:#fff;
}
.left{
width: 300px;
background: skyblue;
margin-left: -100%;
}
.right{
width: 200px;
background: #999;
margin-left: -200px;
}
</style>
</head>
<body>
<div class="container">
<div class="box">BUTTON</div>
</div>
<div class="container2">
<span>B</span>
<span>U</span>
<span>T</span>
<span>T</span>
<span>O</span>
<span>N</span>
</div>
<div class="container3">
<ul>
<li></li>
<li></li>
<li></li>
</ul>
</div>
④perspective 透視點 => 即透視點距離元素的z軸的距離 => 他如果作為屬性,則是設置舞臺元素(即設置在要轉換元素的父級元素上);如果作為transform的屬性值,則設置的是當前元素
<div class="container4">
<div class="box2">
透視點距離元④perspective 透視點 => 即透視點距離元素的z軸的距離 => 他如果作為屬性,則是設置舞臺元素(即設置在要轉換元素的父級元素上);如果作為transform的屬性值,則設置的是當前元素④perspective 透視點 => 即透視點距離元素的z軸的距離 => 他如果作為屬性,則是設置舞臺元素(即設置在要轉換元素的父級元素上);如果作為transform的屬性值,則設置的是當前元素④perspective 透視點 => 即透視點距離元素的z軸的距離 => 他如果作為屬性,則是設置舞臺元素(即設置在要轉換元素的父級元素上);如果作為
</div>
<div class="box1">④perspective 透視點 => 即透視點距離元素的z軸的距離 => 他如果作為屬性,則是設置舞臺元素(即設置在要轉換元素的父級元素上);如果作為transform的屬性值,則設置的是當前元素④perspective 透視點 => 即透視點距離元素的z軸的距離 => 他如果作為屬性,則是設置舞臺元素(即設置在要轉換元素的父級元素上);如果作為transform的屬性值,則設置的是當前元素④perspective 透視點 => 即透視點距離元素的z軸的距離 => 他如果作為屬性,則是設置舞臺元素(即設置在要轉換元素的父級元素上);如果作為transform的屬性值,則設置的是當前元素④perspective 透視點 => 即透視點距離元素的z軸的距離 => 他如果作為屬性,則是設置舞臺元素(即設置在要轉換元素的父級元素上);如果作為transform的屬性值,則設置的是當前元素</div>

<div class="box3">④perspective 透視點 => 即透視點距離元素的z軸的距離 => 他如果作為屬性,則是設置舞臺元素(即設置在要轉換元素的父級元素上);如果作為transform的屬性值,則設置的是當前元素④perspective 透視點 => 即透視點距離元素的z軸的距離 => 他如果作為屬性,則是設置舞臺元素(即設置在要轉換元素的父級元素上);如果作為transform的屬性值,則設置的是當前元素④perspective 透視點 => 即透視點距離元素的z軸的距離 => 他如果作為屬性,則是設置舞臺元素(即設置在要轉換元素的父級元素上);如果作為transform的屬性值,則設置的是當前元素④perspective 透視點 => 即透視點距離元素的z軸的距離 => 他如果作為屬性,則是設置舞臺元素(即設置在要轉換元素的父級元素上);如果作為transform的屬性值,則設置的是當前元素</div>
</div>
<div class="container5">
<div class="middle">
<div class="inner">點距離元④perspective 透視點 => 即透視點距離元素的z軸的距離 => 設置舞臺元素(即設置在要轉換元素的父級元素上);如果作為transform的屬性值,則設置的是當前元素④perspective 透視點 => 即透視素的z軸的距離 => 他如果作為屬性,則是設置舞臺元素(即設置在要轉換元素的父級元素上);如果作為transform的屬性值,則設置的是當前元素④perspective 透視點 => 即透視點距離元素的z軸的距離 => 他如果作為屬性,則是設置舞臺元素(即設置在要轉換元素的父級元素上);如果作為
</div>
</div>
<div class="left">④perspective 透視點 => 即透視點距離元素的z軸的距離 => 他如果作為屬性,則是設置舞臺元素(即設置在要轉換元素的父級元素上);如果作為transform的屬性值,則設置的是當前元素④perspective 透視點 => 即透視點距離元素的z軸的距離 => 他如果作為屬性,則是設置舞臺元素(即設置在要轉換元素的父級元素上);如果作為transform的屬性值,則設置的是當前元素④perspective 透視點 => 即透視點距離元素的z軸的距離 => 他如果作為屬性,則是設置舞臺元素(即設置在要轉換元素的父級元素上);如果作為transform的屬性值,則設置的是當前元素④perspective 透視點 => 即透視點距離元素的z軸的距離 => 他如果作為屬性,則是設置舞臺元素(即設置在要轉換元素的父級元素上);如果作為transform的屬性值,則設置的是當前元素</div>

<div class="right">④perspective 透視點 => 即透視點距離元素的z軸的距離 => 他如果作為屬性,則是設置舞臺元素(即設置在要轉換元素的父級元素上);如果作為transform的屬性值,則設置的是當前元素④perspective 透視點 => 即透視點距離元素的z軸的距離 => 他如果作為屬性,則是設置舞臺元素(即設置在要轉換元素的父級元素上);如果作為transform的屬性值,則設置的是當前元素④perspective 透視點 => 即透視點距離元素的z軸的距離 => 他如果作為屬性,則是設置舞臺元素(即設置在要轉換元素的父級元素上);如果作為transform的屬性值,則設置的是當前元素④perspective 透視點 => 即透視點距離元素的z軸的距離 => 他如果作為屬性,則是設置舞臺元素(即設置在要轉換元素的父級元素上);如果作為transform的屬性值,則設置的是當前元素</div>
</div>
<br>
<b>
實現兩邊固定寬度,中間自適應的辦法:
①聖杯布局 (聖杯布局:中間盒子無inner,采用外容器無padding,中間容器設置margin,右邊盒子設置margin-left)
②雙飛翼布局
③calc()自適應布局
</b>
</body>
</html>

關於聖杯、雙飛翼布局