জিম হলের উত্তরটি পছন্দনীয় কারণ এটি যখন আপনি যখন স্ক্রল আপ করবেন তখন এটি নীচে স্ক্রোল করে না, এটি খাঁটি সিএসএসও।
দুর্ভাগ্যক্রমে তবে, এটি একটি স্থিতিশীল সমাধান নয়: ক্রোমে (সম্ভবত উপরে ডটনেটপার্পেন্টার দ্বারা বর্ণিত 1-px-ইস্যুর কারণে), scrollTop
ব্যবহারকারীর মিথস্ক্রিয়া ছাড়াই (উপাদান যুক্ত হওয়ার পরে) 1 পিক্সেল দ্বারা ভুল আচরণ করে। আপনি সেট করতে পারেন scrollTop = scrollHeight - clientHeight
, তবে এটি ডিভটিকে স্থিতিতে রাখবে যখন অন্য উপাদান যুক্ত করা হয়, ওরফে "নিজেকে নীচে রাখুন" বৈশিষ্ট্যটি আর কাজ করছে না।
সুতরাং, সংক্ষেপে, জাভাস্ক্রিপ্টের একটি অল্প পরিমাণ যুক্ত করা (দীর্ঘশ্বাস) এটি ঠিক করবে এবং সমস্ত প্রয়োজনীয়তা পূরণ করবে:
Https://codepen.io/anon/pen/pdrLEZ এর মতো কিছু (কুলের উদাহরণ দিয়ে), এবং তালিকায় কোনও উপাদান যুক্ত করার পরেও নিম্নলিখিতটি:
container = ...
if(container.scrollHeight - container.clientHeight - container.scrollTop <= 29) {
container.scrollTop = container.scrollHeight - container.clientHeight;
}
যেখানে 29 এক লাইনের উচ্চতা।
সুতরাং, যখন ব্যবহারকারী অর্ধেক লাইন উপরে স্ক্রোল করবে (এটি যদি সম্ভব হয় তবে?), জাভাস্ক্রিপ্ট এটিকে উপেক্ষা করে নীচে স্ক্রোল করবে। তবে আমার ধারণা এটি অবহেলিত। এবং এটি Chrome 1 পিক্সেল জিনিসকে ঠিক করে।
{position : relative; bottom:0;}
। ব্যবহারকারীর স্ক্রোল হয়ে গেলে CSS সম্পত্তিটি সরান।