سلام! همونطور که میدونید، کار با متنها توی صفحات وب میتونه گاهی چالشبرانگیز باشه. یکی از مشکلاتی که خیلی از ما باهاش روبرو میشیم اینه که چرا متن ما به ستون بعدی میریزه. این مسئله میتونه به دلایل مختلفی رخ بده و فهمیدن علت اصلی، اولین قدم در حل اون هست.
در اکثر مواقع، ریزش متن به ستون بعدی به واسطه تنظیمات CSS هست که درست انجام نشده. یکی از معمولترین مشکلات، عدم تنظیم درست عرض ستونها یا بلاکهایی هست که متن توشون قرار گرفته. فرض کنید شما دو تا ستون دارید و متن داخل اونها بیش از اندازه بزرگ تنظیم شده; خب، طبیعتاً متن نمیتونه به صورت همزمان در هر دو ستون جا بگیره و به ستون بعدی میرزه.
مشکل دیگهای که میتونه رخ بده استفاده نادرست یا نبود خاصیتهای overflow
و word-wrap
توی CSS هست. اگر این خاصیتها رو به درستی تنظیم نکنید، وقتی متن بیشتری در ستون جا داده بشه دچار مشکل میشید.
به علاوه، مرورگرهای مختلف بعضی وقتها متنها رو به شکل متفاوتی نمایش میدن، که این موضوع میتونه عامل دیگهای برای این مشکل باشه. همچنین، میتونید از ویژگی flexbox
برای کنترل بهتر چیدمان استفاده کنید که در ادامه توضیح و کدهای مربوطه رو براتون آماده کردم.
ما به عنوان توسعهدهندگان وب، نیاز داریم که همیشه دستهبندی درست و کاملتری از عناصر صفحهمون داشته باشیم تا نمودار صفحات بهتر باشه و این گونه مشکلات کاهش پیدا کنه.
.container {
display: flex;
flex-wrap: wrap;
}
.column {
flex: 1 1 30%;
box-sizing: border-box;
overflow: hidden;
word-wrap: break-word;
}
خط اول: استایل کلاس .container
رو تعریف میکنه که از display: flex;
و flex-wrap: wrap;
برای تقسیم بند ستونها استفاده میکنیم.
خط دوم: تعریف استایل کلاس .column
شامل تعریف ویژگیهای flex
و box-sizing
برای اندازهگذاری و جلوگیری از ریزش.
خط سوم: از overflow: hidden;
استفاده میکنیم تا متن اضافی داخل ستون پنهان بشه و از خروج از مرزها جلوگیری بشه.
خط چهارم: از word-wrap: break-word;
استفاده خواهیم کرد تا کلمات بلند داخل ستون شکسته بشن و از ستون بیرون نزنن.