網頁部分內容顯示不全

来源:http://www.cnblogs.com/starof/archive/2016/03/01/5197510.html
-Advertisement-
Play Games

一、bug描述 下圖為正常情況,一個網頁主體寬度為1280px。 當縮小瀏覽器寬度,出現滾動條時,效果如下,右側出現空白,導致內容顯示不全。 二、bug重現和解決 1、代碼如下 body中有一個灰色背景的div,div中嵌套一個有固定寬度1280px的p標簽。 <!DOCTYPE html> <ht


一、bug描述

下圖為正常情況,一個網頁主體寬度為1280px。

當縮小瀏覽器寬度,出現滾動條時,效果如下,右側出現空白,導致內容顯示不全。

二、bug重現和解決

1、代碼如下

body中有一個灰色背景的div,div中嵌套一個有固定寬度1280px的p標簽。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <div style="background: #eee;">
        測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字
        <p style="background-color: red;width: 1280px;">1280px寬的的p標簽</p>
        測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字
    </div>
</body>
</html>

正常顯示

 縮放瀏覽器出現滾動條時,

2、問題分析

div預設的寬度是100%,這樣可以自適應。body的寬度也是100%,以html標簽寬度為參考,而html寬度隨著瀏覽器縮放增大或減小。

上面瀏覽器顯示不全的原因是,當瀏覽器寬度變小出現滾動條時,div寬度仍然根據瀏覽器寬度自適應,而p標簽寬度固定而且超出瀏覽器寬度,所以出現空白。

3、解決方法

設置body的最小寬度為p標簽的寬度即可。真實問題解決辦法同理。真實環境中大的寬度通常是由於設置固定寬度元素浮動形成的一個大的寬度。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<style>
    body{min-width: 1280px;}
</style>
<body>
    <div style="background: #eee;">
        測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字
        <p style="background-color: red;width: 1280px;">1280px寬的的p標簽1280px寬的的p標簽1280px寬的的p標簽1280px寬的的p標簽1280px寬的的p標簽1280px寬的的p標簽1280px寬的的p標簽1280px寬的的p標簽1280px寬的的p標簽1280px寬的的p標簽1280px寬的的p標簽1280px寬的的p標簽1280px寬的的p標簽1280px寬的的p標簽1280px寬的的p標簽1280px寬的的p標簽1280px寬的的p標簽1280px寬的的p標簽1280px寬的的p標簽1280px寬的的p標簽1280px寬的的p標簽1280px寬的的p標簽1280px寬的的p標簽1280px寬的的p標簽1280px寬的的p標簽1280px寬的的p標簽1280px寬的的p標簽1280px寬的的p標簽1280px寬的的p標簽1280px寬的的p標簽1280px寬的的p標簽</p>
        測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字測試文字
    </div>
</body>
</html>

4、總結

雖然是小問題,但是平時開發還是必須註意。因為很多線上的頁面有這樣的問題。比如csdn

 

本文作者starof,因知識本身在變化,作者也在不斷學習成長,文章內容也不定時更新,為避免誤導讀者,方便追根溯源,請諸位轉載註明出處:http://www.cnblogs.com/starof/p/5197510.html有問題歡迎與我討論,共同進步。

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • forEach是ECMA5中Array新方法中最基本的一個,就是遍歷,迴圈。例如下麵這個例子: [1, 2 ,3, 4].forEach(alert); 等同於下麵這個for迴圈 var array = [1, 2, 3, 4]; for (var k = 0, length = array.len
  • 在編寫CSS時也存在一些編碼規範,平時註意這些基本的規範,可使代碼更易閱讀和維護。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <style> /* 語法 用兩個空格來代替製表符(tab
  • 在編寫HTML時,可能有一些方面不夠規範,在通過對《HTML5編碼規範》的學習後,採用代碼註解的方式,做相關的整理,方便今後回顧。 1 <!DOCTYPE html> <!-- HTML5 doctype 標準模式(standard mode)的聲明,這樣能夠確保在每個瀏覽器中擁有一致的展現-->
  • 1 H5 緩存機制介紹 H5,即 HTML5,是新一代的 HTML 標準,加入很多新的特性。離線存儲(也可稱為緩存機制)是其中一個非常重要的特性。H5 引入的離線存儲,這意味著 web 應用可進行緩存,並可在沒有網際網路連接時進行訪問。 H5 應用程式緩存為應用帶來三個優勢: 離線瀏覽 用戶可在應用離
  • 一、標題 標題的h1到h6標簽,這裡不再贅述。值得一提的是,H5中新定義了一個元素<hgroup>,用來將標題和副標題群組。一般在header里將一組標題組合在一起,變成一個區塊: 1 <body> 2 <header> 3 <hgroup> 4 <h1> 阿裡旅行·去啊 </h1> 5 <h2>
  • 目錄 瞭解什麼是Web 瞭解什麼是HTML 瞭解什麼是CSS 瞭解什麼是JavaScript 瞭解HTML與CSS是如何一起工作的 為何要使用CSS 擴展閱讀 一、瞭解什麼是Web? 通俗來講,可以使用戶通過瀏覽器來訪問某個電腦上的文件。 二、瞭解什麼是HTML? HTML(超文本標記語言--Hyp
  • 前端自動化流程工具,用來合併文件,壓縮等。 Gulp官網 http://gulpjs.com/ Gulp中文網 http://www.gulpjs.com.cn/ Gulp中文文檔 https://github.com/lisposter/gulp-docs-zh-cn Gulp插件網 http:/
  • 由於瀏覽器提供的alert和confirm框體驗不好,而且瀏覽器沒有提供一個標準的以對話框的形式顯示自定義HTML的彈框函數,所以很多項目都會自定義對話框組件。本篇文章介紹自己在項目中基於bootstrap的modal組件,自定義alert,confirm和modal對話框的經驗,相對比較簡單實用,...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...