父級overflow為scroll時,絕對定位的子元素會被隱藏或一起滾動
需求:父級邊框固定,裡面的內容滾動
由於是圖片邊框,於是我把邊框的上下部分單獨切圖,中間重複部分平鋪
想要的效果圖:
一開始的寫法:
html:
<div class="paradise-wrap">
<div class="paradise"></div>
</div>
css:
.paradise-wrap{
position: relative;
width: 640px;
background: url("images/paradise/paradise-middle.png" ) repeat-y top;
background-size: 640px 24px;
padding: 0 40px;
box-sizing: border-box;
height: 800px;
overflow: scroll;
}
.paradise-wrap:before{
position: absolute;
content: '';
width: 640px;
height : 40px;
background: url("images/paradise/paradise-top.png") no-repeat center;
left: 0;
top: -40px;
}
.paradise-wrap:after{
position: absolute;
content: '';
width: 640px;
height: 40px;
background: url("images/paradise/paradise-bottom.png" ) no-repeat center;
left: 0;
bottom: -40px;
}
.paradise{
width: 532px;
height: 1238px;
background: url("images/paradise/paradise-pics.png") no-repeat center;
background-size: 532px 1238px;
margin: 0 auto;
}
實際效果圖:
上面的邊框一開始就被隱藏了,而滾動裡面的內容,發現下邊框會隨著內容一起滾動
原因是,paradise-wrap的div設定了position:relative,此時before、after偽元素定位參照物件為paradise-wrap,而其overflow屬性不為visible時,會對超出尺寸進行裁剪(於是作為子元素的before部分就被裁剪了),即使before、after是絕對定位,但是也是相對於父級絕對定位,所以父級一滾動,絕對定位的after部分也會隨之滾動
筆者一開始以為是after、before偽元素的原因,其實偽元素寫法跟正常的div寫法一樣,都是作為paradise-wrap的子元素,只不過偽元素不在正常的DOM樹中,把上下邊框用絕對定位的div實現也同樣會出現這種問題
解決方法:
在需要滾動的區域外層,再套一層div,將原來寫在paradise-wrap上的height、overflow: scroll屬性加在這個div上
html:
<div class="paradise-wrap">
<div class="paradise-content">
<div class="paradise">
</div>
</div>
</div>
css:
.paradise-wrap{
position: relative;
width: 640px;
background: url("images/paradise/paradise-middle.png") repeat-y top;
background-size: 640px 24px;
padding: 0 40px;
box-sizing: border-box;
}
.paradise-content{
height: 800px;
overflow: scroll;
}
這樣的話,不會影響外面的邊框顯示,邊框固定,而裡面的內容也能正常滾動,可是實現一開始希望達到的效果
相關推薦
父級overflow為scroll時,絕對定位的子元素會被隱藏或一起滾動
需求:父級邊框固定,裡面的內容滾動 由於是圖片邊框,於是我把邊框的上下部分單獨切圖,中間重複部分平鋪 想要的效果圖: 一開始的寫法: html: <div class="paradise-wrap"> <div cl
WebUploader中,父級div為display:none,點選顯示無效。
在使用WebUploader上傳檔案時,有時候因介面操作要求,要控制其所在div的隱藏或顯示,發現隱藏後,flash模式的按鈕點選事件缺失,點選無效。 解決辦法: 1、在顯示時,先destroy 原有 uploader,再重新建立即可:程式碼如下, //第一次建立uplod
IE中絕對定位子元素相對定位,被後面元素絕對定位覆蓋等問題。
1.IE中絕對定位子元素相對定位,被後面元素絕對定位覆蓋問題。 父元素A{ position:relative; } | |——A子元素{ position:absolute; }
margin與padding值設定為百分數時,其值的計算參照最近父級元素width
在前端開發過程中,設定樣式引數margin 與 padding 值為百分數時,其具體值的計算方法需參照最近父級的width計算。 1)exp1: margin-top 為百分數 其中標籤的巢狀關係為: <div class="boxparent">
父容器div內的子元素div為float時,父元素無法撐開(或高度自適應)的解決方式以及css中position和float的介紹
先簡單給出父元素無法高度自適應時的解決方案: 第一種:在父容器上設定 overflow:auto或者hidden可以讓它自動包含子元素,從而具有了實際的height值。 第二種:在子元素的最下面加上一個 空元素,並且設定clear:both,但
【Unity3D】導出SpriteMode為Multiple時,裏面的每一張精靈圖片。
eight name 技術 directory 像素點 點擊 ref 菜單 分享 有時候,我們會需要把圖集中的每一個精靈導出來。 導出代碼: [MenuItem("Tools/ExportSprite")] public static void Export
當對象或對象屬性為空時,如何安全給對象或對象屬性添加默認值
方案 string sign isp ignorecas 兩種 對象 習慣 比較 今天遇到的問題,也是寫代碼的習慣問題,邏輯沒有問題,但不規範,也不安全, 容易出現漏洞。 先將代碼貼出: String isPrintLogo = vodInfoDto.getIsPrint
當input中的type值為file時,各瀏覽器的表現形式不同
button tex ati color 不同 ack 需要 標簽 圖片 如果想使各瀏覽器下的表現形式相同,需要對該input元素隱藏,然後再改元素下方添加標簽。其html寫法如下 <div class="input-file"> <input type
IIS部署ASP.NET網站後提示只有在配置文件或 Page 指令中將 enableSessionState 設置為 true 時,才能使用會話狀態...
text 效果 handlers 用戶空間 ren 分享 tpc out 調試 今天,在IIS上部署網站後,出現了下面錯誤: 只有在配置文件或 Page 指令中將 enableSessionState 設置為 true 時,才能使用會話狀態。還請確保在應用程序配置的 <
一個類,有新增元素(add)和獲取元素數量(size)方法。 啟動兩個線程。線程1向容器中新增數據。線程2監聽容器元素數量,當容器元素數量為5時,線程2輸出信息並終止
override tac trace add syn countdown print import 數據 方式一: /** * 兩個線程要是可見的所以要加上votalile */public class Test_01 { public static void
input型別為number時,去掉上下箭頭
<input type="number"> <style> input::-webkit-outer-spin-button, input::-webkit-inner-spin-button { -webkit-appearance: n
輸入框input型別為number時,去掉上下箭頭方式
<input type="number" ...> <style> input::-webkit-outer-spin-button, input::-webkit-inner-spin-button { -webkit-appearance
當類的指標被賦值為NULL時,類的哪些成員還可以被該指標呼叫
轉自:https://blog.csdn.net/xiaoluer/article/details/53337292 該問題源自於一道面試題,題目如下所示: 看如下程式碼,請問能不能編譯通過?如果能編譯通過能不能執行成功?並說明原因 clas
重繪ListCtrl中增加子控制元件Edit是,在父控制元件失去焦點時,子控制元件不進行隱藏
問題:現在有一個listctrl控制元件,需要在某一列上新增一個子控制元件edit。當點選子控制元件(edit)時,子控制元件顯示出來,父控制元件(ListCtrl)已經失去焦點了。此時,要是滑鼠點選的位置不在該控制元件內,edit處於顯示狀態,父控制元件(ListCtrl)是失去焦點狀態。
IE8中的input設定為disabled時,字型顏色設定問題
關於Input不能修改,設定屬性可以為disabled或者readonly 但是,如果設定為disabled,關於字型顏色的設定則不再有效,disabled對顏色的設定免疫,因為顏色太淡,使用者體驗差,所以用readonly,但是readonly會出現游標的閃爍問題,需要設定屬性: $('i
Java-註解-屬性值為value時,賦值的三種情況
1.自定義註解只有一個屬性時,且屬性名為value時,賦值時value可省略。 註解定義: public @interface Table { public String value(); } 註解使用: @Table("student") public class Stud
寫程式碼: 實現使用者輸入使用者名稱和密碼,當用戶名為seven且密碼為123時,顯示登入成功,否則登入失敗。
# 寫程式碼# 實現使用者輸入使用者名稱和密碼,當用戶名為seven且密碼為123時,顯示登入成功,否則登入失敗。username = input("Please enter your username: ")password = input("Please enter your password: ")if
Java的if判斷物件為null時,null放在比較運算子的左邊還是右邊較好?
如java中:if(name == null)和if(null == name)有什麼講究嗎? 答:在java裡面,它們是一樣的。但是通常寫為null == name。這其實是在C語言裡面引申出來的。 在C語言裡面,為了防止少敲一個等號,程式設計人員仍然能在編譯的時候找到錯誤。因為if(nam
訊號為E時,如何讓語音識別脫“網”而出?
歡迎大家前往騰訊雲+社群,獲取更多騰訊海量技術實踐乾貨哦~ 本文由騰訊教育雲發表於雲+社群專欄 一般沒有網路時,語音識別是這樣的 ▽ 而同等環境下,嵌入式語音識別,是這樣的 ▽ 不僅可以幫您邊說邊識、出口成章,有個性化名字的時候也難不倒它。 這就是嵌入式語音識別的魅力。 本文將從
【筆記】mybatis+mysql,當入參為map時,如何獲取返回的自增主鍵
<selectKey resultType="java.lang.Integer" order="BEFORE" keyProperty="paramMap.id"> // keyProperty 要指定為引數map的名稱.返回的鍵名才行,入參paramMap,返回的自增主鍵