[英]Full screen width for child element of a non full screen width parent
https://jsfiddle.net/k3nvkL35/4/
在此解決方案中遇到的問題之一是,我認為滾動條的寬度不是通用的,因此您可能需要實現一些條件邏輯來基於此影響寬度/邊距。
話雖如此,您可能會發現這很有用。 下面的功能通過將文檔的高度與窗口的高度進行比較,來檢查文檔是否具有垂直滾動條。 基於所述滾動條的存在,它將修改孩子的寬度和邊距以適合窗口。
同樣,它可能需要進行調整,盡管它應該提供良好的基礎。
function adjustWidth() { if ($(document).height() > $(window).height()) { $(".child").css({ "width": "calc(100vw - 18px)", "margin-left": "calc(-50vw + 50% + 9px)" }); } else { $(".child").css({ "width": "", "margin-left": "" }) } } $(window).resize(adjustWidth).trigger("resize");
.parent { width: 500px; height: 500px; margin: 0 auto; border: 3px solid green; } .child { height: 100px; background: red; width: 100vw; margin-left: calc(-50vw + 50%); }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="parent"> <div class="child"> content </div> </div>
簡單。 由於父母沒有任何位置,因此可以絕對地安置孩子。 不會干擾calc
或其他方面,在任何地方都有效。
.child {
height: 100px;
background: red;
position:absolute;
left:0;
right:0;
}
這是一個工作的小提琴: https : //jsfiddle.net/vgbr6qw2/
我發現這個解決方案,這是由采購這個家伙,但我不知道是誰最初做的。 我尚未對其進行全面測試,因此可能無法在所有瀏覽器中使用。 我知道IE8不支持vw
,好像有人在乎。
body { margin:0; } .wrapper { width:100%; max-width:400px; margin:0 auto; background:pink; /* margin is for display purposes on stack overflows fullscreen snippet view */ margin-top:80px; } .full-width { width:100vw; margin-left:-50vw; left:50%; background:red; position:relative; color:white; }
<div class="wrapper"> <span>Hi. I'm a paragraph.</span> <div class="full-width"> <p>You aint no paragraph, sucka!</p> </div> <strong>Be quiet, you weak losers.</strong> </div>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.