سی ایس ایس کے ساتھ ہموار اونچائی ٹرانزیشن بنانا
سی ایس ایس کا استعمال کرتے ہوئے کسی عنصر کی اونچائی کو 0 سے آٹو میں تبدیل کرنا آٹو ویلیو کے لیے ایک متعین اختتامی نقطہ کی کمی کی وجہ سے مشکل ہو سکتا ہے۔ یہ اکثر عناصر کے بغیر کسی ہموار منتقلی کے اثر کے اچانک ظاہر ہونے کا سبب بنتا ہے۔
اس مضمون میں، ہم دریافت کریں گے کہ a کے لیے ہموار سلائیڈ ڈاؤن اثر کیسے حاصل کیا جائے۔
CSS ٹرانزیشن کا استعمال کرتے ہوئے عنصر۔ ہم عام مسائل کا جائزہ لیں گے اور JavaScript پر بھروسہ کیے بغیر ایک ہموار منتقلی کے لیے حل فراہم کریں گے۔کمانڈ | تفصیل |
---|---|
overflow: hidden; | کسی بھی مواد کو چھپاتا ہے جو عنصر کے خانے کے باہر بہہ جاتا ہے۔ اونچائی کی منتقلی کے دوران مواد کی مرئیت کو منظم کرنے کے لیے استعمال کیا جاتا ہے۔ |
transition: height 1s ease; | آسان ٹائمنگ فنکشن کا استعمال کرتے ہوئے 1 سیکنڈ سے زیادہ اونچائی کی خاصیت پر ایک ہموار منتقلی اثر لاگو کرتا ہے۔ |
scrollHeight | کسی عنصر کی پوری اونچائی لوٹاتا ہے، بشمول اوور فلو مواد جو نظر نہیں آتا ہے۔ متحرک بلندیوں کا حساب لگانے کے لیے JavaScript میں استعمال کیا جاتا ہے۔ |
addEventListener('mouseenter') | ایک ایونٹ ہینڈلر کو 'ماؤسینٹر' ایونٹ سے منسلک کرتا ہے، جو اس وقت متحرک ہوتا ہے جب ماؤس پوائنٹر عنصر میں داخل ہوتا ہے۔ اونچائی کی منتقلی شروع کرنے کے لیے استعمال کیا جاتا ہے۔ |
addEventListener('mouseleave') | ایک ایونٹ ہینڈلر کو 'mouseleave' ایونٹ سے منسلک کرتا ہے، جو اس وقت متحرک ہوتا ہے جب ماؤس پوائنٹر عنصر کو چھوڑ دیتا ہے۔ اونچائی کی منتقلی کو ریورس کرنے کے لیے استعمال کیا جاتا ہے۔ |
style.height | جاوا اسکرپٹ میں کسی عنصر کی اونچائی کو براہ راست سیٹ کرتا ہے۔ ہموار ٹرانزیشن کے لیے متحرک طور پر اونچائی کو ایڈجسٹ کرنے کے لیے استعمال کیا جاتا ہے۔ |
:root | سی ایس ایس سیڈو کلاس جو دستاویز کے روٹ عنصر سے میل کھاتا ہے۔ عالمی CSS متغیرات کی وضاحت کے لیے استعمال کیا جاتا ہے۔ |
var(--max-height) | CSS متغیر کا حوالہ دیتا ہے۔ ٹرانزیشن کے دوران زیادہ سے زیادہ اونچائی کو متحرک طور پر تفویض کرنے کے لیے استعمال کیا جاتا ہے۔ |
سی ایس ایس میں ہموار اونچائی کی منتقلی کو سمجھنا
پہلی اسکرپٹ ایک عنصر کی اونچائی کو 0 سے ایک مخصوص اونچائی تک منتقل کرنے کے لیے صرف CSS کے انداز کو ظاہر کرتی ہے۔ کا استعمال کرتے ہوئے پراپرٹی، کوئی بھی مواد جو عنصر کی اونچائی سے آگے بڑھتا ہے پوشیدہ ہے، صاف منتقلی کو یقینی بناتا ہے۔ دی پراپرٹی 1 سیکنڈ سے زیادہ اونچائی پر ایک ہموار منتقلی اثر کا اطلاق کرتی ہے۔ جب پیرنٹ عنصر کو منڈلا دیا جاتا ہے تو، بچے کے عنصر کی اونچائی پہلے سے طے شدہ قدر میں تبدیل ہو جاتی ہے، جس سے نیچے پھسلنے کا بھرم پیدا ہوتا ہے۔ تاہم، یہ طریقہ ضروری ہے کہ آپ کو عنصر کی آخری اونچائی پہلے سے جان لی جائے۔
دوسری اسکرپٹ میں جاوا اسکرپٹ کو ایک عنصر کی اونچائی کو متحرک طور پر ایڈجسٹ کرنے کے لیے شامل کیا گیا ہے۔ جب بنیادی عنصر پر ہوور کیا جاتا ہے، اسکرپٹ استعمال کرتے ہوئے مواد کی پوری اونچائی کا حساب لگاتا ہے۔ اور اس قدر کو سیٹ کرتا ہے۔ بچے کے عنصر کی خاصیت. یہ حتمی اونچائی کو پہلے سے جانے بغیر اونچائی 0 سے مکمل مواد کی اونچائی تک ہموار منتقلی کو یقینی بناتا ہے۔ دی اور addEventListener('mouseleave') فنکشنز کا استعمال ماؤس ہوور ایونٹس کو ہینڈل کرنے کے لیے کیا جاتا ہے، اس بات کو یقینی بناتے ہوئے کہ جب ماؤس پیرنٹ عنصر کو چھوڑ دیتا ہے تو اونچائی 0 پر واپس آجاتی ہے۔
سی ایس ایس اونچائی کی منتقلی کے لیے جدید تکنیک
تیسری اسکرپٹ اونچائی کی منتقلی کو منظم کرنے کے لیے CSS متغیرات کا فائدہ اٹھاتی ہے۔ عالمی متغیر کی وضاحت کرکے زیادہ سے زیادہ اونچائی کے لیے، ہم ہوور حالت کے دوران متحرک طور پر اس قدر کو چائلڈ عنصر کو تفویض کر سکتے ہیں۔ متغیر سی ایس ایس کے اندر اونچائی سیٹ کرنے کے لیے استعمال کیا جاتا ہے، اس بات کو یقینی بناتے ہوئے کہ منتقلی ہموار اور مواد میں ہونے والی تبدیلیوں کے لیے موافق ہو۔ یہ نقطہ نظر CSS کی سادگی کو متحرک اقدار کی لچک کے ساتھ جوڑتا ہے، جس سے ضرورت کے مطابق منتقلی کی بلندیوں کو منظم اور اپ ڈیٹ کرنا آسان ہو جاتا ہے۔
ان طریقوں میں سے ہر ایک عنصر کی اونچائی کو 0 سے آٹو میں منتقل کرنے کے مسئلے کا ایک مختلف حل پیش کرتا ہے۔ خالص CSS نقطہ نظر سیدھا ہے لیکن پہلے سے طے شدہ اونچائی کی ضرورت سے محدود ہے۔ JavaScript طریقہ زیادہ لچک فراہم کرتا ہے، متحرک اونچائی کے حساب کتاب کی اجازت دیتا ہے، لیکن اضافی اسکرپٹنگ کی ضرورت ہوتی ہے۔ CSS متغیر کی تکنیک ایک درمیانی زمین پیش کرتی ہے، جس میں متحرک صلاحیتوں کے ساتھ استعمال میں آسانی ہوتی ہے۔ ان تکنیکوں کو سمجھنے اور استعمال کرنے سے، ڈویلپر اپنے ویب پروجیکٹس میں ہموار، بصری طور پر دلکش اونچائی کی منتقلی بنا سکتے ہیں۔
سی ایس ایس کا استعمال کرتے ہوئے 0 سے آٹو میں ہموار اونچائی کی منتقلی۔
سی ایس ایس اور ایچ ٹی ایم ایل
<style>
#child {
height: 0;
overflow: hidden;
background-color: #dedede;
transition: height 1s ease;
}
#parent:hover #child {
height: 100px; /* Set this to the max height you expect */
}
</style>
<div id="parent">
<h1>Hover me</h1>
<div id="child">
Some content<br>
Some content<br>
Some content<br>
</div>
</div>
ہموار اونچائی کی منتقلی کے لیے جاوا اسکرپٹ حل
HTML، CSS، اور JavaScript
<style>
#child {
height: 0;
overflow: hidden;
background-color: #dedede;
transition: height 1s ease;
}
</style>
<div id="parent">
<h1>Hover me</h1>
<div id="child">
Some content<br>
Some content<br>
Some content<br>
</div>
</div>
<script>
const parent = document.getElementById('parent');
const child = document.getElementById('child');
parent.addEventListener('mouseenter', () => {
child.style.height = child.scrollHeight + 'px';
});
parent.addEventListener('mouseleave', () => {
child.style.height = '0';
});
</script>
CSS متغیرات کا استعمال کرتے ہوئے ہموار اونچائی کی منتقلی۔
سی ایس ایس اور ایچ ٹی ایم ایل
<style>
:root {
--max-height: 100px;
}
#child {
height: 0;
overflow: hidden;
background-color: #dedede;
transition: height 1s ease;
}
#parent:hover #child {
height: var(--max-height);
}
</style>
<div id="parent">
<h1>Hover me</h1>
<div id="child">
Some content<br>
Some content<br>
Some content<br>
</div>
</div>
ہموار ٹرانزیشن کے لیے سی ایس ایس اینیمیشن کی تلاش
منتقلی اونچائی کے علاوہ، CSS اینیمیشنز ہموار بصری اثرات پیدا کرنے کا ایک ورسٹائل طریقہ فراہم کرتی ہیں۔ CSS اینیمیشنز آپ کو اونچائی سے زیادہ خصوصیات کی ایک وسیع رینج کو متحرک کرنے کی اجازت دیتی ہیں، بشمول دھندلاپن، تبدیلی اور رنگ۔ کلیدی فریموں کی وضاحت کر کے، آپ اینیمیشن کے درمیانی مراحل کو کنٹرول کر سکتے ہیں، جس کے نتیجے میں زیادہ پیچیدہ اور بصری طور پر دلکش ٹرانزیشن ہوتی ہے۔ مثال کے طور پر، آپ زیادہ متحرک اور پرکشش صارف کا تجربہ بنانے کے لیے اونچائی کی منتقلی کو فیڈ ان اثر کے ساتھ جوڑ سکتے ہیں۔ CSS میں کلیدی فریم کا اصول آپ کو اینیمیشن کی شروعات اور اختتامی حالتوں کے ساتھ ساتھ انٹرمیڈیٹ ریاستوں کی کسی بھی تعداد کی وضاحت کرنے دیتا ہے، جو آپ کو حرکت پذیری کے عمل پر عمدہ کنٹرول فراہم کرتا ہے۔
CSS اینیمیشنز کا ایک اور پہلو اینیمیشن-ڈیلے پراپرٹی کا استعمال کرتے ہوئے متعدد اینیمیشنز کو ترتیب دینے کی صلاحیت ہے۔ یہ خاصیت آپ کو مختلف اینیمیشنز کے آغاز کے اوقات کو حیران کرنے کی اجازت دیتی ہے، جس سے ایک تہہ دار اثر پیدا ہوتا ہے۔ مثال کے طور پر، آپ پہلے عنصر کی اونچائی کی منتقلی کر سکتے ہیں، اس کے بعد رنگ کی تبدیلی، اور پھر تبدیلی کی گردش۔ ان اینیمیشنز کو احتیاط سے ترتیب دے کر، آپ نفیس اور چمکدار یوزر انٹرفیس بنا سکتے ہیں۔ مزید برآں، سی ایس ایس اینیمیشنز کو سی ایس ایس ٹرانزیشنز کے ساتھ جوڑا جا سکتا ہے تاکہ مجرد اور مسلسل ریاستی تبدیلیوں کو سنبھالا جا سکے، جو انٹرایکٹو ویب تجربات کو تیار کرنے کے لیے ایک جامع ٹول کٹ پیش کرتا ہے۔
- میں سی ایس ایس کا استعمال کرتے ہوئے اونچائی کو 0 سے آٹو میں کیسے منتقل کر سکتا ہوں؟
- اس کو حاصل کرنے کے لیے، آپ مقررہ اونچائی اور کا مجموعہ استعمال کر سکتے ہیں۔ متحرک طور پر اونچائی کی قیمت مقرر کرنے کے لیے۔ خالص CSS حل محدود ہیں کیونکہ براہ راست متحرک نہیں ہے۔
- CSS میں ٹرانزیشن اور اینیمیشنز میں کیا فرق ہے؟
- سی ایس ایس ٹرانزیشنز پراپرٹی کی قدروں کو آسانی سے تبدیل کرنے کا ایک طریقہ فراہم کرتی ہیں (ایک دی گئی مدت کے دوران) ایک ریاست سے دوسری ریاست میں، عام طور پر ہوور جیسی حالت میں تبدیلی پر۔ CSS متحرک تصاویر ریاستوں اور وقت کی وضاحت کے لیے کلیدی فریموں کا استعمال کرتے ہوئے مزید پیچیدہ ترتیبوں کی اجازت دیتی ہیں۔
- کیا میں متحرک اونچائی والے عناصر کے لیے CSS ٹرانزیشن استعمال کر سکتا ہوں؟
- ہاں، لیکن آپ کو عام طور پر اونچائی کا پہلے سے حساب لگانا پڑتا ہے یا ہموار منتقلی کے لیے اونچائی کی قدر کو متحرک طور پر سیٹ کرنے کے لیے JavaScript کا استعمال کرنا پڑتا ہے۔
- کا مقصد کیا ہے سی ایس ایس ٹرانزیشن میں پراپرٹی؟
- دی پراپرٹی کا استعمال کسی بھی ایسے مواد کو چھپانے کے لیے کیا جاتا ہے جو عنصر کی حدود سے متجاوز ہو، جو کہ اونچائی کی تبدیلیوں پر مشتمل کلین ٹرانزیشن کے لیے ضروری ہے۔
- کیسے کریں سی ایس ایس اینیمیشن میں کام کرتے ہیں؟
- CSS اینیمیشنز میں آپ کو اینیمیشن کے دوران مختلف پوائنٹس پر عنصر کی حالتوں کی وضاحت کرنے کی اجازت دیتی ہے۔ آپ پیچیدہ اینیمیشنز بناتے ہوئے ہر کلیدی فریم پر خصوصیات اور ان کی قدروں کی وضاحت کر سکتے ہیں۔
- کیا میں CSS ٹرانزیشن اور اینیمیشن کو یکجا کر سکتا ہوں؟
- جی ہاں، CSS ٹرانزیشنز اور اینیمیشنز کو یکجا کرنا ریاستی تبدیلیوں اور مسلسل اینیمیشنز دونوں کو سنبھال کر صارف کو بہتر تجربہ فراہم کر سکتا ہے۔
- کیا جاوا اسکرپٹ میں؟
- کسی عنصر کی کل اونچائی لوٹاتا ہے، بشمول اوور فلو کی وجہ سے اسکرین پر نظر نہ آنے والا مواد۔ یہ ہموار منتقلی کے لیے متحرک بلندیوں کا حساب لگانے کے لیے مفید ہے۔
- وہ کیسے کام؟
- دی پراپرٹی بتاتی ہے کہ اینیمیشن کب شروع ہونی چاہیے۔ یہ آپ کو پرتوں والے اثر کے لیے متعدد متحرک تصاویر ترتیب دینے کی اجازت دیتا ہے۔
- کیوں ہے سی ایس ایس میں استعمال کیا جاتا ہے؟
- دی سیڈو کلاس دستاویز کے بنیادی عنصر کو نشانہ بناتا ہے۔ یہ عام طور پر عالمی CSS متغیرات کی وضاحت کرنے کے لیے استعمال ہوتا ہے جو پوری سٹائل شیٹ میں دوبارہ استعمال کیے جا سکتے ہیں۔
سی ایس ایس میں اونچائی 0 سے آٹو تک ہموار منتقلی کے حصول کے لیے تکنیکوں کے امتزاج کی ضرورت ہوتی ہے۔ اگرچہ خالص CSS سادگی پیش کرتا ہے، لیکن یہ پہلے سے طے شدہ بلندیوں کی ضرورت سے محدود ہے۔ جاوا اسکرپٹ کو مربوط کرنے سے، آپ متحرک طور پر حساب لگا سکتے ہیں اور بلندیوں کو سیٹ کر سکتے ہیں، ایک ہموار منتقلی فراہم کر سکتے ہیں۔ CSS متغیرات کا استعمال متحرک اقدار کو منظم کرنے کے لیے ایک لچکدار طریقہ بھی پیش کر سکتا ہے۔ ان طریقوں کو یکجا کرنے سے ڈویلپرز کو عام طور پر اونچائی کی منتقلی کے ساتھ منسلک اچانک تبدیلیوں کے بغیر مزید انٹرایکٹو اور پرکشش ویب تجربات تخلیق کرنے کی اجازت دیتا ہے۔