整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          HTMLCSS學習筆記(八)-寬高自適應

          HTMLCSS學習筆記(八)-寬高自適應

          高自適應

          網頁布局中經常要定義元素的寬和高。但很多時候我們希望元素的大小能夠根據窗口或子元素

          自動調整,這就是pc自適應。

          自適應的優點:

          元素自適應在網頁布局中非常重要,它能夠使網頁顯示更靈活,可以適應在不同設備、不同窗口和不同分辨率下顯示。

          寬度自適應

          元素寬度設置為100%。(塊元素寬度默認為100%)

          或者不設置寬度(width);(寬度是父元素的寬度)

          高度自適應

          1)自適應元素高度:height:auto;或者不設置;(是子元素撐開父元素的高度)

          ?

          2)元素高度自適應窗口高度

          設置方法:html,body{height:100%;}

          注:如果設置子元素的高度跟隨父元素的高度變化而變化,那么父元素必須有高度。

          最小高度的自適應

          min-height屬性:最小高度;(IE6瀏覽器不識別該屬性) ?


          hack1:min-height:value;_height:value; ?


          hack2:min-height:value; height:auto!important;height:value;

          浮動元素父元素高度自適應(高度塌陷)

          當子元素有浮動并且父元素沒有高度的情況下父元素會出現高度塌陷

          高度塌陷的解決方法

          hack1:給父元素添加聲明overflow:hidden;(觸發一個BFC)


          hack2: 在浮動元素下方添加空div,并給該元素添加 聲明:div{clear:both; height:0; overflow:hidden;}


          hack3:萬能清除浮動法

          選擇符:after {
          	content: "";
          	clear: both;
          	display: block;
          	height: 0;
          	overflow: hidden;
          	visibility: hidden;
          }

          visibility:hidden/隱藏

          visibility:hidden;和display:none;的區別:

          visibility:hidden;屬性會使對象不可見,但該對象在網頁所占的空間沒有改變,等于留出了一塊空白區域,而 display:none屬性會使這個對象徹底消失不顯示,也不再占用位置。

          對象選擇符

          1)、::after : 與content屬性一起使用,定義在對象后的內容。

          語法:選擇符::after{content:”文字”;}

          選擇符::after{content:url(圖片路徑);}

          如:div::after{content:url(logo.jpg);}

          div::after{content:"文本內容";}

          2)、::before: 與content屬性一起使用,定義在對象前 的內容。

          div::before{content:"在其前放內容";}

          3)、::first-letter 定義對象內第一個字符的樣式。

          說明:

          *(該偽元素只能用于塊級元素)

          4)、::first-line:定義對象內第一行的樣式。

          *(該偽元素只能用于塊級元素。)

          全屏頁面



          本文轉自知乎號:千鋒HTML5學院

          家好,我是吉礻羊。

          有人@我說不知道怎么寫自適應的網頁,今天就先不寫優化的了,我把寫自適應網頁的方法說下。

          自適應的網頁

          工具:dw網頁設計軟件;ps圖像處理軟件。

          方法/步驟:

          1,在<head></head>之間加入加入一行viewport標簽。

          <meta name="viewport" content="width=device-width,initial-scale=1" />

          viewport是網頁默認的寬度和高度,上面這行代碼的意思是,網頁寬度默認等于屏幕寬度(width=device-width),原始縮放比例(initial-scale=1)為1.0,即網頁初始大小占屏幕面積的100%。

          由于大家使用的電腦分辨率不一樣,大小也不一樣,所以網頁會根據屏幕寬度調整布局,所以不能使用絕對寬度的布局,也不能使用具有絕對寬度的元素,對圖像來說也是這樣。

          具體說,CSS代碼不能指定像素寬度:

          width:xxx px;

          只能指定百分比寬度:

          width: xx%;

          或者

          width:auto;

          2,字體也不能使用絕對大小(px),而只能使用相對大小(em)。

          例如:

          body {font: normal 100% Helvetica, Arial,sans-serif;}

          上面的代碼指定,字體大小是頁面默認大小的100%,即14像素。

          3,"自適應網頁"的實例:

          <!DOCTYPE html>

          <html>

          <head>

          <meta charset="UTF-8">

          <meta name="viewport" content="width=device-width,height=device-height,inital-scale=1.0" />

          <title></title>

          <style>

          body {

          height: 800px;

          }

          .header {

          width: 100%;

          height: 15%;

          background-color: aquamarine;

          }

          .leftside {

          width: 20%;

          height: 75%;

          background-color: skyblue;

          float: left;

          }

          .main {

          float: right;

          width: 80%;

          height: 75%;

          background-color: steelblue;

          }

          .footer {

          clear: both;

          width: 100%;

          height: 10%;

          background-color: darkgray;

          }

          </style>

          </head>

          <body >

          <div class="header"></div>

          <div class="leftside"></div>

          <div class="main"></div>

          <div class="footer"></div>

          </body>

          </html>

          家都知道如果不給一個元素設定一個具體的height,它就會自動適應其內容的高度。但是如果我們希望width也有類似的行為,我們該怎么做呢?

          下面是我們實際的HTML:

          <body>
          <p>Let’s assume we have some text here. Bacon ipsum dolor sit amet turkey veniam shankle, culpa short ribs kevin t-bone occaecat.</p>
          <!--使用 <figure> 元素標記文檔中的一個圖像-->
          <figure>
            <img src="../img/adamcatlace.jpg" />
            <!--  使用 <figure> 元素標記文檔中的一個圖像。<figure> 元素帶有一個標題:-->
            <figcaption>
              The great Sir Adam Catlace was named after Countess Ada Lovelace, the first programmer ever.
            </figcaption>
          </figure>
          <p>We also have some more text here. Et laborum venison nostrud, ut veniam sint kielbasa ullamco pancetta.</p>
          </body>

          最初的實際效果如下:


          如果我們為figure添加一道邊框,在默認情況下,如下圖所示:

            <style>
              figure{
                border: red solid 5px;
              }
            </style>


          我們會發現邊框實際是跟著屏幕的寬度在變化的,但我們實際上想要的是讓figure這個元素跟它所包含的圖片一樣寬,并且使圖片水平居中于屏幕中心。

          那么我們應該怎么解決呢?


          方案1:float

           <style>
              figure{
                border: red solid 5px;
                float: left;
              }
            </style>


          我們的確的到了想要的寬度,但是網頁的布局也混款了。


          方案2:display: inline-block

            <style>
              figure{
                border: red solid 5px;
                display: inline-block;
              }
            </style>


          我們得到了我們想要的寬度,但我們發現很難繼續完成水平居中的任務,我們需要:

            <style>
              body{
                text-align: center;
              }
              p{
                text-align: left;
              }
              figure{
                border: red solid 5px;
                display: inline-block;
              }
            </style>


          但我們發現這樣很麻煩,我們首先對其父元素設置了text-align:center,然后又對其父元素的其他子元素又設置了text-align:left,就算是這樣,圖片的說明文字還是比圖片寬,很難看。


          最終方案:

            <style>
              figure{
                border: red solid 5px;
                width: min-content;
                margin: auto;
              }
            </style>


          這個min-content的意思就是將這個元素寬度設置為這個容器內部最大的不可斷行的元素的寬度(即最寬的單詞、圖片或具有固定寬度的盒元素)。


          主站蜘蛛池模板: 国产精品亚洲高清一区二区| 日韩精品人妻一区二区三区四区| 国产福利微拍精品一区二区| 后入内射国产一区二区| 亚洲欧洲无码一区二区三区| 欧洲精品一区二区三区| 福利电影一区二区| 高清一区二区三区日本久| 精品一区二区三区自拍图片区| 国产未成女一区二区三区| 婷婷亚洲综合一区二区| 三上悠亚一区二区观看| 亚洲一区二区三区电影| 夜夜高潮夜夜爽夜夜爱爱一区| 国产成人精品久久一区二区三区av| 国产一区二区三区免费观看在线| 国产精品自拍一区| 国产午夜精品一区二区| 亚洲爆乳精品无码一区二区 | 亚洲综合av永久无码精品一区二区 | 蜜臀AV在线播放一区二区三区| 国产精品一区二区无线| 日本免费一区二区三区四区五六区| 性色av闺蜜一区二区三区| 国精无码欧精品亚洲一区| 日本精品3d动漫一区二区| 亚洲精品色播一区二区| 色偷偷av一区二区三区| 精品视频在线观看一区二区 | 在线成人一区二区| 国产日韩精品一区二区三区在线| 国产精品av一区二区三区不卡蜜| 午夜福利一区二区三区高清视频| 亚洲成av人片一区二区三区 | 亚洲熟女乱色一区二区三区| 国产MD视频一区二区三区| 精品一区二区三区波多野结衣| 国产在线精品一区二区不卡麻豆 | 精品免费国产一区二区| 国产一区二区好的精华液| 51视频国产精品一区二区|