وسط قرار دادن متن و عناصر توسط css - وسط چین کردن عناصر
سلام دوستان یک فرم ثبت نام ساده دارم طراحی می کنم. یک مشکلی که وجود داره این هست که وقتی می خواهم عنوان هر فیلد رو بنویسم دقیقا روبروی input نمایش داده نمیشه. تصویر زیر رو نگاه کنید منظورم رو دقیقا متوجه می شوید.

ببینید در تصویر بالا عنوان فیلد "آدرس" هست ولی در بالای سمت راست نمایش داده میشه. چجوری میتونم کاری کنم که "آدرس" دقیقا در وسط المنت مربوطه نمایش داده بشه.
از دستور زیر هم استفاده می کنم تاثیری نداره
vertical-alignment : middle;
کدهایی هم که نوشتم رو قرار میدم
<div class="row col-md-12" style="text-align:center;">
    <label class="control-label col-md-3 col-xs-12" style="float:right; text-align:right; padding-right:22px;">کدپستی</label>
    <div class="col-md-8 col-xs-12">
     <input id="PostalCode" name="PostalCode" type="text" style="margin-top:20px;" class="form-control" placeholder="کدپستی ..." />
    </div>
</div>
لطفا بفرمایید دقیقا چجوری میتونم متن رو در وسط المنت توسط css ترازبندی کنم ؟
پاسخ هوش مصنوعی
برای اینکه عنوان فیلد دقیقا در وسط ورودی نمایش داده شود، می توانید از Flexbox استفاده کنید. با افزودن display: flex; به مادر <div> و استفاده از align-items: center; و justify-content: space-between; می توانید این کار را انجام دهید. به این صورت:
.row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 20px;
}
سپس کد HTML شما به شکل زیر خواهد بود:
<div class="row col-md-12">
    <label class="control-label col-md-3 col-xs-12">کدپستی</label>
    <div class="col-md-8 col-xs-12">
     <input id="PostalCode" name="PostalCode" type="text" class="form-control" placeholder="کدپستی ..." />
    </div>
</div>با این تنظیمات، عنوان فیلد و عناصر در وسط ترازبندی خواهند شد. شما می توانید همین روش را برای فیلدهای دیگر نیز پیاده سازی کنید.
وسط چین کردن عناصر Html توسط css

کلا برای وسط چین کردن یک عنصر Html میتونید از دستور زیر استفاده کنید:
text-align : center;
اما دستور بالا عنصر Html شما رو به صورت افقی وسط چین می کند. اما با توجه به اینکه در متن سوال شما مشخص شده که میخواید متن داخل یک label رو وسط چین کنید میتونید از استایل زیر استفاده کنید :
display: flex;
justify-content: center;
flex-direction: column;
یعنی در واقع دستورات شما به طور کامل اینجوری میشه :
<div class="row col-md-12" style="text-align:center; margin-bottom:10px;">
       <label class="control-label col-md-3 col-xs-12" style="float:right; margin:0px; padding:22px; text-align:right; display:flex; flex-direction:column; justify-content:center;">آدرس</label>
       <div class="col-md-8 col-xs-12">
            <textarea id="Address" type="text" style="margin:0px;" class="form-control" placeholder="آدرس..." ></textarea>
       </div>
</div>
الان اگر کد بالا رو اجرا کنید باید "آدرس" دقیقا در وسط label نمایش داده بشه.
در ادامه چند مدل از وسط چین کردن رو مثال می زنم.
وسط چین کردن عناصر به صورت افقی
اگر عنصری مثل یک متن یا تصویر درون یک div قرار داشته باشد برای وسط چین کردن به صورت افقی کافیست از دستور زیر استفاده بشه
text-align:center;
اگر عنصری داشتید که عرض آن به صورت واضح مشخص شده باشد میتوانید از کد زیر برای وسط چین کردن استفاده کنید. (دقت کنید عنصر استایل float نداشته باشد.)
width: 500px; /* عرض دلخواه */
margin-left: auto;
margin-right: auto;
وسط چین کردن عناصر به صورت عمودی
گاهی می توانید برای وسط چین کردن عنصر به صورت عمودی فقط از یک padding ساده استفاده کنید
padding-top: 30px;
padding-bottom: 30px;
روش دوم برای وسط چین کردن عنصر توسط دستورات css به صورت عمودی استفاده از line-height می باشد
height: 100px;
line-height: 100px;
white-space: nowrap;
گاهی هیچ کدام از روش های بالا جواب نمی دهد و می توانید از display:flex استفاده کنید. این روش در اکثر مواقع پاسخ می دهد.
display: flex;
justify-content: center;
flex-direction: column;
اگر عنصر از نوع block است و ارتفاع مشخص شده از روش زیر استفاده کنید
.parent {
  position: relative;
}
.child {
  position: absolute;
  height: 100px;
  top: 0%;
  bottom: 0%;
  margin-top: auto;
  margin-bottom: auto;
}
اگر ارتفاع عنصر نامشخص باشد می توانید به اندازه نصف ارتفاع پدر را در نظر بگیرید
position: relative;
top: 50%;
transform: translateY(-50%);
حالات زیاد دیگری هم وجود دارد. اما مواردی که در بالا اشاره شد در اکثر موارد پاسخگو می باشد. برای دریافت حالات بیشتر به لینک زیر مراجعه کنید.
- آموزش استفاده از پلاگین گردونه شانس در Asp.net core به همراه سورس
- نمایش متن به صورت فرمت شده در CkEditor
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- کار با CkEditor با قابلیت آپلود عکس
- حذف فایلها و دستورات Css و JavaScript اضافی
- جمع کردن (Collapse) منوی جانبی موقع لود فرم در پنل AdminLte
- تبدیل اعداد انگلیسی به فارسی در سایت
- نحوه حذف پس زمینه سیاه صفحه مدال در بوت استرپ
- منظور از فرانت اند و بک اند چیست ؟
- آموزش کار با Position ها در css
- نمایش منو با راست کلیک کردن روی Ckeditor
- ایجاد جدول ریسپانسیو در بوت استرپ
- برگرداندن محتویات فایل css از طریق نرم افزار phpstorm
 
                         
                         
                        