整合營銷服務商

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

          免費咨詢熱線:

          CSS設置寬高的小技巧

          、css寬高自適應:

          1.寬度自適應:

          元素寬度設為100%(塊狀元素的默認寬度為100%)

          注:應用在通欄效果中

          2.高度自適應:

          height:auto;或者不設置高度
          

          3.最小,最大高度,最小,最大寬度:

          a)最小高度 min-height:value;

          IE6不識別min-height屬性,解決方案如下:
           
          方案一:min-height:100px; _height:100px;
           
          方案二:min-height:100px; height:auto!important; height:100px;
          

          b)最大高度:

          max-height:value;
          

          c)最大寬度:

          max-width:value;
          

          d)最小寬度:

          min-width:value;
          

          注:塊狀元素設置最小寬度時,需要將元素轉換為內聯塊狀元素,添加display:inline-block;

          注:以上四個屬性IE6及以下版本瀏覽器不支持

          4.高度塌陷問題:

          描述:子元素浮動,父元素高度自適應,造成父元素高度為0,簡稱高度塌陷問題

          解決方案:

          方案一:

          給父元素添加overflow:hidden;
           
          優點:簡單,兼容性好
           
          缺點:當有position:relative;出現時,會影響頁面顯示效果
          

          方案二:

          給父元素固定的高度 height:value;
           
          缺點:不靈活,高度無法自適應
          

          方案三:

          在子元素的末尾添加一個空div,并設置樣式
           
          .clear{height:0; overflow:hidden;clear:both;}
           
          優點:所有瀏覽器都支持
           
          缺點:在頁面中添加一個無意義的div,造成代碼冗余
          

          方案四:(萬能清除浮動法,推薦使用)

          通過偽元素的方式清除浮動

          父元素:after{
           content:"";
           height:0;
           overflow:hidden;
           clear:both;
           display:block;
           visibility:hidden;
          }
          

          注:偽元素是內聯元素,轉換為塊元素設置寬高才能生效

          height:0;在IE6下不兼容,添加overflow:hidden;兼容IE6

          二、元素隱藏不可見的兩種方式(display:none;和visibility:hidden的區別)

          1.display:none;元素隱藏不可見,位置不保留

          2.visibility:hidden;元素隱藏不可見,位置保留

          三、窗口高度自適應

          首先,給html,body設置高度為100%
          
          html,body{height:100%;}
           
          然后給元素設置高度100%
           
          div{height:100%}
           
          注:常用于窗口內容不滿一屏或者沒有內容body高度為0時
          

          四、水平居中和垂直居中:

          1.行內元素水平居中設置

          設置文本、圖片等行內元素水平居中,給父元素設置text-align:center;

          2.定寬塊狀元素水平居中設置

          給定寬塊狀元素設置左右margin值為auto

          注:當元素設置float或絕對定位,固定定位時,左右margin為auto失效

          3.不定寬塊狀元素水平居中

          方法一:

          給父元素設置 {display:table;margin:0 auto;}
          

          注: display:table;將元素轉換為表格的形式

          方法二:

          子元素設置: {display:inline-block;}
          
          父元素設置:{text-align:center;}
          

          五、元素水平垂直都居中

          1.未知寬高元素在屏幕窗口水平垂直都居中

          方法一:

          元素{
           
          width:value;
           
          height:value;
           
          position:fixed;
           
          left:50%;
           
          top:50%;
           
          margin-left:-width/2+px;
           
          margin-top:-height/2+px;
           
          }
          

          方法二:

          元素{
          width:value;
          
          height:value; 
          
          position:fixed;
          
          left:0;
          
          top:0;
          
          right:0;
          
          bottom:0;
          
          margin:auto;
          }
          

          2.未知寬高元素在父元素中水平垂直都居中

          方法一:

          元素{
           
          width:value;
           
          height:value;
           
          position:absolute;
           
          left:0;
           
          top:0;
           
          right:0;
           
          bottom:0;
           
          margin:auto;
           
          }
          

          方法二:

          父元素{
           
          width:value;
           
          height:value;
           
          display:table-cell;
           
          vertical-align:middle;
           
          text-align:center;
           
          }
          

          注:display:table-cell;將元素轉換為表格單元格形式

          題一: 一般在我們的認識里行內元素是不支持寬高的,如果要讓其支持寬高,必須通過css顯示的轉換:display:block;可是所有的行內元素都不支持寬高嗎?其實不然,來看下面的例子:

          demo1

          demo2

          代碼運行后我們發現input和img標簽居然支持寬高,在我們的印象中input和img是行內元素(inline),是不支持寬高的,但是它們卻有點特殊,原來它們是可替換元素!

          html中的元素可分為替換元素和不可替換元素,替換元素本身是空元素,是由其屬性來決定的,比如這里的input,通過type屬性就可將其設置為文本框或單選按鈕,img也一樣,通過src元素可以來顯示不同的圖片,常見的有<img>、<input>、<textarea>、<select>,他們和一般的行內元素有區別,行內元素不支持寬高,而它們卻支持width和height屬性,如果沒設置寬高,就顯示默認的大小,比如img,就顯示圖片原來的尺寸。

          不可替換元素比較常見,也就是塊級元素(div,p,h1……)或一些行內元素(span,strong,a……),它們是直接顯示元素內容,比如你什么時候見過div通過type來顯示不同的東西?顯然沒有。


          問題二:行內元素除了可替換元素外,比如span元素,一定要display:block;才可以支持寬高嗎?其實也不然。且看下面例子:

          或者這樣設置也可以:

          顯然我并沒有顯示的設置span元素為block,但是同樣能支持寬高,這里的原因是我css設置了span為position:absolute;或者float:left;讓其具有包裹性,從而支持寬高,所以在你設置元素浮動或者絕對定位的情況下,設置元素display:block;就顯得多余了。


          Ps:如果喜歡,那就關注我吧!

          *CSS基礎-06-元素大小(設置元素尺寸height/width、最大值max-height max-width、最小值min-height min-width、設置行間距 line-height)**

          在Web前端開發中,對元素大小的精確控制是構建美觀且布局合理的網頁界面的關鍵。CSS提供了豐富的屬性來幫助我們實現這一目標,包括設置元素的寬高(`height`/`width`)、定義最大與最小尺寸(`max-height`/`max-width`和`min-height`/`min-width`),以及調整文本行間距(`line-height`)。本文將深入探討這些屬性的用法、應用場景及示例代碼,助您掌握元素大小調整的核心技巧。

          **一、設置元素尺寸:height與width**

          **1.1 定義元素高度(height)**

          **定義方式:**

          ```css

          element {

          height: value;

          }

          ```

          其中,`element`代表目標元素的選擇器,`value`可以是以下幾種類型:

          - **絕對單位**:如像素(`px`)、厘米(`cm`)、毫米(`mm`)、英寸(`in`)、點(`pt`)等。

          - **相對單位**:如百分比(`%`)、視口寬度(`vw`)、視口高度(`vh`)、字體大小(`em`)等。

          - **關鍵字**:如`auto`(默認值,由內容決定高度)、`initial`(恢復初始值)、`inherit`(繼承父元素的值)。

          **示例代碼:**

          ```html

          <div class="box">

          <p>這是一個高度為200px的盒子。</p>

          </div>

          <style>

          .box {

          background-color: #f8f9fa;

          height: 200px; /* 設置固定高度 */

          width: 300px; /* 設置固定寬度,便于觀察效果 */

          }

          </style>

          ```

          **1.2 定義元素寬度(width)**

          **定義方式:**

          ```css

          element {

          width: value;

          }

          ```

          `width`屬性的值同樣支持絕對單位、相對單位及關鍵字,其使用方法和`height`相同。

          **示例代碼:**

          ```html

          <div class="content">

          <p>這是一個寬度為80%的自適應容器。</p>

          </div>

          <style>

          .content {

          background-color: #f8f9fa;

          width: 80%; /* 設置寬度為父元素的80% */

          margin: 0 auto; /* 居中顯示 */

          }

          </style>

          ```

          **二、設定元素最大/最小尺寸:max-height/max-width與min-height/min-width**

          **2.1 最大高度/寬度(max-height/max-width)**

          **定義方式:**

          ```css

          element {

          max-height: value;

          max-width: value;

          }

          ```

          這兩個屬性用于限制元素的最大尺寸,當元素的實際尺寸超過設定值時,會自動調整到指定的最大值。值的類型與`height`和`width`相同。

          **示例代碼:**

          ```html

          <div class="image-container">

          <img src="large-image.jpg" alt="Large Image">

          </div>

          <style>

          .image-container {

          max-width: 100%; /* 圖片最大寬度不超過父元素寬度 */

          max-height: 500px; /* 圖片最大高度不超過500px */

          overflow: hidden; /* 隱藏超出部分 */

          }

          </style>

          ```

          **2.2 最小高度/寬度(min-height/min-width)**

          **定義方式:**

          ```css

          element {

          min-height: value;

          min-width: value;

          }

          ```

          `min-height`和`min-width`用于確保元素的最小尺寸,當元素的實際尺寸小于設定值時,會強制擴展到指定的最小值。值的類型與`height`和`width`相同。

          **示例代碼:**

          ```html

          <div class="sidebar">

          <ul>

          <li><a href="#">Link 1</a></li>

          <li><a href="#">Link 2</a></li>

          <!-- 更多鏈接 -->

          </ul>

          </div>

          <style>

          .sidebar {

          background-color: #f8f9fa;

          min-width: 200px; /* 側邊欄最小寬度為200px */

          }

          </style>

          ```

          **三、設置行間距:line-height**

          **3.1 定義行間距(line-height)**

          **定義方式:**

          ```css

          element {

          line-height: value;

          }

          ```

          `line-height`屬性用于設置元素內文本行之間的垂直間距。值的類型包括:

          - **數值**:如`1.5`、`2`等,表示相對于當前字體大小的倍數。

          - **絕對單位**:如像素(`px`)、厘米(`cm`)等。

          - **百分比**:相對于元素本身的字體大小。

          - **關鍵字**:如`normal`(默認值,瀏覽器默認行間距)、`initial`、`inherit`。

          **示例代碼:**

          ```html

          <p class="loose-text">這是一段行間距為1.5倍的文本。</p>

          <style>

          .loose-text {

          font-size: 16px;

          line-height: 1.5; /* 設置行間距為字體大小的1.5倍 */

          }

          </style>

          ```

          **四、實戰應用與注意事項**

          **4.1 響應式設計**

          結合`max-height`/`max-width`、`min-height`/`min-width`與媒體查詢(`@media`),可以輕松實現響應式布局,確保元素在不同屏幕尺寸下保持合適的大小。

          **示例代碼:**

          ```css

          @media (max-width: 768px) {

          .content {

          width: 100%; /* 小于768px時,寬度占滿屏幕 */

          }

          }

          @media (min-width: 768px) and (max-width: 1200px) {

          .content {

          width: 75%; /* 768px至1200px之間,寬度為75% */

          }

          }

          @media (min-width: 1200px) {

          .content {

          width: 50%; /* 大于1200px時,寬度為50% */

          }

          }

          ```

          **4.2 注意事項**

          - **`height`與`width`設置為`auto`時,元素的尺寸通常由其內容決定。對于塊級元素,寬度默認為`auto`,高度則受內部內容影響;對于內聯元素,寬度和高度均受內容影響。**

          - **使用百分比單位時,`height`的百分比基于包含塊的高度,而`width`的百分比基于包含塊的寬度。**

          - **在設置`min-height`時,確保包含塊(父元素)具有足夠的高度或自身元素具有足夠的內容,否則可能無法達到預期效果。**

          - **使用`line-height`時,注意與其他文本相關的屬性(如`font-size`、`vertical-align`等)的配合,以保持良好的排版效果。**

          通過熟練掌握上述CSS屬性,您將能精準地控制網頁中元素的大小,實現復雜多樣的布局效果。不斷實踐并結合實際項目需求,您的前端開發技能將更上一層樓。


          主站蜘蛛池模板: 偷拍精品视频一区二区三区| 亚洲欧美日韩中文字幕一区二区三区| 无码人妻AⅤ一区二区三区| 久久精品黄AA片一区二区三区 | 日韩制服国产精品一区| 国产乱码精品一区二区三区麻豆 | 精品无码综合一区二区三区 | 日本视频一区在线观看免费 | 内射白浆一区二区在线观看| 亚洲男女一区二区三区| 国产一区二区三区高清视频| 韩国资源视频一区二区三区| 精品无码一区二区三区爱欲| 国产在线精品一区二区不卡麻豆| 日本福利一区二区| 亚洲一区AV无码少妇电影| 无码人妻视频一区二区三区 | 国产午夜一区二区在线观看| 色窝窝无码一区二区三区色欲| 大伊香蕉精品一区视频在线| 日本一区二区三区在线视频观看免费| 日韩成人无码一区二区三区| 麻豆国产一区二区在线观看| 精品少妇ay一区二区三区| 3d动漫精品啪啪一区二区免费| 国产一区二区电影| 国产一区二区三区91| 伦理一区二区三区| 国产一区二区三区久久精品| 国产亚洲福利精品一区| 国产成人久久精品一区二区三区| 久久se精品一区精品二区| 美女啪啪一区二区三区| 亚洲福利视频一区| 亚洲一区二区三区国产精品无码| 精品亚洲AV无码一区二区| 国产日韩精品视频一区二区三区| 亚洲AV无码一区二区大桥未久| 无码一区二区三区爆白浆| 日本高清天码一区在线播放| 男人的天堂精品国产一区|