के आधार पर अजीब ऑफ़सेट मैंने सीएसएस कॉलम लेआउट के संबंध में एक बहुत ही अजीब व्यवहार में भाग लिया है जो केवल क्रोम में दिखाई देता है।सीएसएस कॉलम, ऊंचाई
आइटम की कुल ऊंचाई के आधार पर स्तंभित किया गया है, इसके बाएं ऑफसेट को स्थानांतरित किया गया है जिससे वास्तविक स्थान को निर्धारित करना मुश्किल हो जाता है। प्रतिपादन ठीक दिखता है लेकिन यदि आप तत्व का निरीक्षण करते हैं तो आप वास्तव में देख सकते हैं कि यह काफी हद तक ऑफसेट है।
यहाँ एक उदाहरण है: https://jsfiddle.net/vx8h8u46/
.panel तत्व का निरीक्षण करें और आप देखेंगे कि यह रेक्ट बाउंडिंग है कि बाईं ओर शुरू नहीं करता है।
यदि आप एक आइटम को निकालने के लिए बटन पर क्लिक करते हैं तो अचानक बाउंडिंग रेक्ट सही होता है।
ऐसा लगता है कि यह जब पैनल की ऊंचाई एक निश्चित सीमा से अधिक हो जाती है लेकिन यह केवल इस बिंदु पर अटकलें है होता है। क्या आसपास कोई काम है?
function logOffset() {
document.getElementById("log").innerText = document.querySelector(".panel").getBoundingClientRect().left;
}
window.removeLastItem = function() {
var items = document.querySelectorAll(".item");
if (items.length) {
items[items.length - 1].remove();
logOffset();
}
}
logOffset();
* {
box-sizing: border-box;
}
.item {
display: inline-block;
width: 160px;
height: 80px;
outline: 1px solid red;
}
.container {
-moz-column-width: 320px;
column-width: 320px;
-moz-column-fill: auto;
column-fill: auto;
max-height: 160px;
width: 640px;
}
<div class="container">
<div class="panel">
<div class="item">1</div>
<div class="item">2</div>
<div class="item">3</div>
<div class="item">4</div>
<div class="item">5</div>
<div class="item">6</div>
<div class="item">7</div>
<div class="item">8</div>
<div class="item">9</div>
<!-- Something weird happens after this -->
<div class="item">10</div>
</div>
</div>
<div>
Left offset of
<mark>panel</mark>:
<span id="log"></span>
</div>
<button onclick="removeLastItem()">
Remove last item
</button>
आप किस तत्व का जिक्र कर रहे हैं? यदि आप '.panel' में 'प्रदर्शन: इनलाइन'' लागू करते हैं, तो यह समस्या को ठीक करता है। यदि आपका यही मतलब है, तो इसे अपने उत्तर में स्पष्ट करें और उदाहरण स्निपेट जोड़ने पर विचार करें। – misterManSam
मैं इसे जोड़ना भूल गया। पैनेल ने प्रदर्शन किया है: इनलाइन-ब्लॉक लेकिन समस्या बनी रहती है। –