效果如下
於是乎就寫了起來,當然還是寫了好久,不禁吐槽布局什麼的看來又是白學了。
剛開始的時候使用flex,因為圖片需要水平垂直置中,所以優先想到了昨天看的很方便的flex配置模式。
這裡看到了flex布局,當時就覺得,代碼好短好方便,然後就用了(可見flex版)。
在flex裡,只需要margin: auto一行代碼就能實現各方位的置中效果了。
然後?宓氖牽?⒏?⌒輪?笏??E11都不行……我當時以為只有上古瀏覽器不行,看來這句話是真的:
新的 flexbox 配置模式被用來重新定義CSS中的布局方式。很遺憾的是最近規範變動過多,導致各個瀏覽器對它的實現也有所不同。不過我仍舊想要分享一些例子,來讓你知道即將發生的改變。這些例子目前只能在支援 flexbox 的 Chrome 瀏覽器中運行,基於最新的標準。
↑明明在我的Firefox裡也可以這個玩樣兒到底是什麼時候寫的啊。
後來還嘗試了能不能寫一個響應式,寫著寫著突然發現,圖片變小了是沒錯,但小到最後就沒法看了啊喂……而且由於是斜的,定位也不方便,所以後來還是採取了固定的方式,但還是有個地方值得mark:
background: url(/cdn.jpg) no-repeat;
background-position: center;
background-size:contain;
background-size:contain;可以讓背景變成自適應的(也就是圖片縮放啦)。
當然最後還是選擇了absolute(請看昨天的上一篇文章吧),完全固定的方式,略顯粗糙的定位了一下,但總體而言已經是效果中最讓人滿意的了:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Hokster CDN</title>
<style type="text/css">
html, body {
margin: 0 auto;
padding: 0;
height: 100%;
width: 100%;
}
html, body, div, img, p {
box-sizing: border-box;
}
.container {
margin: 0 auto;
height: 100%;
}
.container > img {
margin: auto;
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
box-sizing:unset;
}
.container > .content {
bottom: 0;
box-sizing: unset;
left: 0;
margin: auto;
position: absolute;
right: 0;
top: 0;
height: 575px;
width: 1115px;
}
.vertical {
position: relative;
margin: 0 auto;
text-align: center;
height: 340px;
width: 780px;
box-sizing:unset;
padding-right: 100px;
padding-top: 250px;
vertical-align: center;
font-family: "Microsoft Yahei";
}
</style>
</head>
<body>
<div class="container">
<img src="/cdn.jpg">
<div class="content">
<div class="vertical">
<p>CDN無法完成本次請求的說!以下是詳細原因:</p>
<p>當前CDN節點根據您請求的網域名稱找不到主機ID!</p>
<p>如果剛綁定網域名稱,請等待5分鐘後查看,持續出現本提示請與Hostker聯絡</p>
</div>
</div>
</div>
</body>
</html>
由此,布局真是讓人吐血的東西,接下來,今天還會更新一些關於布局的文章。