نمایش نتایج 1 تا 14 از 14

نام تاپیک: چطور ارتفاع یک fieldset رو در یک خانه از جدول fit خانه جدول می شه

  1. #1
    کاربر دائمی آواتار ROSTAM2
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    فارس
    پست
    1,867

    Question چطور ارتفاع یک fieldset رو در یک خانه از جدول fit خانه جدول می شه

    با سلام
    من دوتا fieldset دارم هر کدوم توی یک خونه مجزا در یک ردیف از جدول هستن اما fieldset اولی از خونه اولی ردیف جدول ارتفاعش 100 درصد نمی شه باید از چه attributی استفاده کنم با چه مقداری...

    Screenshot_27-8-2024_92019_127.0.0.1.jpg

    کد Body:

    <body dir="rtl">
    <table width="700px" align="center" style="" cellspacing="20px" cellpadding="20">
    <col width="auto" />
    <col width="auto" />
    <tr>
    <td class="header" colspan="2">مدیریت حساب کاربری</td>
    <td></td>
    </tr>
    <tr>
    <td style="vertical-align: top; ">
    <fieldset style=" width: auto;height: 100%; ">
    <legend>(<span name="num"></span>)&nbsp;
    ویرایش اطلاعات حساب کاربری:</legend>
    <div style="float: left;">
    <label for="UserID">پست الکترونیک:</label>
    <input id="UserID" name="UserID" type="text" style="width:350px" />
    </div>
    <div style="float: left;">
    <label for="UserName">نام کاربری (نام و نام خانوادگی):</label>
    <input id="UserName" name="UserName" type="text" style="width:350px" />
    </div>
    <div style="float: left; display: block">
    <button id="SaveChangesButton" name="SaveChangesButton">ثبت تغییرات</button>
    </div>
    </fieldset>


    </td>
    <td width="auto" style="vertical-align: top;width: max-content">


    <fieldset style="width: auto;height: 100%;">

    <legend>(<span name="num"></span>)&nbsp;
    تغییر رمز عبور:</legend>
    <div style="float: left;">
    <label for="OldPassword">رمز:</label>
    <input id="OldPassword" name="OldPassword" type="password" style="width:350px" />
    </div>
    <div style="float: left">
    <label for="Password">رمز جدید:</label>
    <input id="Password" name="Password" type="password" style="width:350px" />
    </div>
    <div style="float: left;display: block">
    <label for="ConfirmPassword">تائید رمز:</label>
    <input id="ConfirmPassword" name="ConfirmPassword" type="password" style="width:350px" />
    </div>

    <div style="float: left; display: block;">
    <button style="display: inline-block;" id="ChangePasswordButton" name="ChangePasswordButton" >تغییر رمز عبور</button>
    </div>
    </fieldset>
    </td>
    </tr>

    </table>


    </body>

  2. #2
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    72
    پست
    3,355

    نقل قول: چطور ارتفاع یک fieldset رو در یک خانه از جدول fit خانه جدول می شه

    سلام و روز خوش

    چند مورد هست که مشخص نکردین:

    • در چه مرورگری قرار هست دیده بشه؟ آیا در کنترل وب بروزر با متا http-equiv(معادل ie11) ؟

    چون روشهایی مثل flexbox برای مرورگرهای مدرن هست.

    • بعد که این 2 فیلدست هم قد شدن، المانهای توی اونی که قدش بلند میشه چجوری align بشن؟


    فعلا تا اینها رو مشخص کنین
    موقت میتونین به فیلدست ها height بدین.

  3. #3
    کاربر دائمی آواتار ROSTAM2
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    فارس
    پست
    1,867

    نقل قول: چطور ارتفاع یک fieldset رو در یک خانه از جدول fit خانه جدول می شه

    نقل قول نوشته شده توسط mazoolagh مشاهده تاپیک
    سلام و روز خوش

    چند مورد هست که مشخص نکردین:

    • در چه مرورگری قرار هست دیده بشه؟ آیا در کنترل وب بروزر با متا http-equiv(معادل ie11) ؟

    چون روشهایی مثل flexbox برای مرورگرهای مدرن هست.

    • بعد که این 2 فیلدست هم قد شدن، المانهای توی اونی که قدش بلند میشه چجوری align بشن؟


    فعلا تا اینها رو مشخص کنین
    موقت میتونین به فیلدست ها height بدین.
    سلام

    برای WebBrowser می خوام....

    اگه به فیلد ست دقت کنید height رو 100% مقداردهی کردم

    <fieldset style=" width: auto;height: 100%; ">
    می خوام فقط کلیدو پایین فیلدست باشه مثل سمت چپیو ....

    SharedScreenshoter.jpg
    آخرین ویرایش به وسیله ROSTAM2 : دوشنبه 12 شهریور 1403 در 06:46 صبح

  4. #4
    کاربر دائمی آواتار ROSTAM2
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    فارس
    پست
    1,867

    نقل قول: چطور ارتفاع یک fieldset رو در یک خانه از جدول fit خانه جدول می شه

    اینم Style صفحه:


    <style>

    .header{
    width: auto;
    background-color: #2196F3;
    color:white;
    justify-content: center;
    padding: 5px;
    font-size: 24px;
    border-radius: 10px;
    text-align: center;
    }
    td {
    counter-increment: Index;
    }

    span[name="num"]::after{
    content: counter(Index);
    }

    fieldset{
    border-radius: 5%;
    box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
    height: 100%;
    display: inline-block;
    border: none;

    text-align: center;
    vertical-align: middle;
    }
    legend{font-size: 20px;
    color:#573b8a;}
    label
    {

    color: ;
    font-size: large;
    justify-content: center;
    display: flex;
    margin: 0px;
    font-weight: bold;
    cursor: pointer;
    transition: .5s ease-in-out;
    }
    input
    {
    width: 60%;
    height: 20px;
    background: #e0dede;
    justify-content: center;
    display: flex;
    margin: 20px;
    margin-top: 5px;
    padding: 10px;
    border: none;
    outline: none;
    border-radius: 5px;
    font-size: medium;
    font-family: 'Baloo Bhaijaan 2';
    text-align: center;
    }
    div{
    display: block;

    }
    button
    {
    width: auto;
    height: auto;
    margin: 10px;
    padding-right: 20px;
    padding-left: 20px;
    justify-content: center;
    display: flex;
    color: #fff;
    background: #573b8a;
    font-size: 1em;
    font-weight: bold;
    margin-top: 20px;
    outline: none;
    border: none;
    border-radius: 5px;
    transition: .2s ease-in;
    cursor: pointer;
    font-family: 'Baloo Bhaijaan 2';
    }
    button:hover
    {
    background: #6d44b8;
    }
    </style>

  5. #5
    کاربر دائمی آواتار ROSTAM2
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    فارس
    پست
    1,867

    نقل قول: چطور ارتفاع یک fieldset رو در یک خانه از جدول fit خانه جدول می شه

    اسناد HTML و CSS:
    فایل های ضمیمه فایل های ضمیمه

  6. #6
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    72
    پست
    3,355

    نقل قول: چطور ارتفاع یک fieldset رو در یک خانه از جدول fit خانه جدول می شه

    سلام دوباره

    متوجه منظور شما هستم،
    میخواستم مطمئن بشم راه حلی که میدم تو کنترل وب بروزر هم کار کنه.

    ببینین،
    روش رندر table اینجوریه که اولا برای هر td اندازه المانهای های توش محاسبه میشه،
    بعد برای هر tr بر اساس بزرگترین height متناظر و برای هر ستون هم بزرگترین width (با احتساب margin و padding و ...) محاسبه میشه،
    دست آخر هست این اندازه ها اعمال میشه.

    پس وقتی شما برای fieldset مشخص میکنین height=100% عملا تاثیری نداره،
    چون اون موقع هنوز اندازه های tdش مشخص نشده.

    برای همین بود که نوشتم:
    موقت میتونین به فیلدست ها height بدین.
    چون اینجوری دیگه td تکلیف خودش رو میدونه.

    حالا شما میتونین این height معین (و نه هنوز محاسبه نشده) رو یا به fieldset بدین یا td.
    من نمونه ساده درست میکنم که این مطلب رو نشون بده.

    ولی راه های دیگه هم هست که یکی یکی اونها رو هم میگم.

  7. #7
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    72
    پست
    3,355

    نقل قول: چطور ارتفاع یک fieldset رو در یک خانه از جدول fit خانه جدول می شه

    برای دیده شدن مشکل یک نمونه ساده بر اساس همین ساختار کنونی شما (گذاشتن هر fieldset در یک td) درست کردم،
    بخشهای اضافی اون رو که نیازی نبود برداشتم (divهای دور فیلدها)،
    همه inline styleها رو برداشتم و به بخش style در head بردم تا نگهداری و خوندن داکیومنت ساده تر باشه،
    استایل ها رو ساده کردم که فقط وضعیت رو نشون بده- برای همین دورtdها و fieldsetها border گذاشتم،
    و برای اینکه مطمئن بشم در کنترل web-browser هم همین رو میبینم اون رو در compatibility view مرورگر edge تست کردم:

    1.png
    کدهای html
    <body>
    <table id="frame">
    <thead>
    <tr>
    <th colspan="2" class="header">مدیریت حساب کاربری</th>
    </tr>
    </thead>
    <tbody>
    <tr>
    <td>
    <fieldset>
    <legend>(<span name="num"></span>) ویرایش اطلاعات حساب کاربری </legend>
    <label for="UserID">پست الکترونیک:</label>
    <input id="UserID" name="UserID" type="text" />
    <label for="UserName">نام کاربری (نام و نام خانوادگی):</label>
    <input id="UserName" name="UserName" type="text" />
    <button id="SaveChangesButton" name="SaveChangesButton">ثبت تغییرات</button>
    </fieldset>
    </td>
    <td>
    <fieldset>
    <legend>(<span name="num"></span>) تغییر رمز عبور </legend>
    <label for="OldPassword">رمز:</label>
    <input id="OldPassword" name="OldPassword" type="password" />
    <label for="Password">رمز جدید:</label>
    <input id="Password" name="Password" type="password" />
    <label for="ConfirmPassword">تائید رمز:</label>
    <input id="ConfirmPassword" name="ConfirmPassword" type="password" />
    <button id="ChangePasswordButton" name="ChangePasswordButton">تغییر رمز عبور</button>
    </fieldset>
    </td>
    </tr>
    </tbody>
    </table>
    </body>


    کدهای css
            body {
    direction: rtl;
    font-family: Vazirmatn;
    }


    .header {
    background-color: #2196F3;
    color: white;
    }


    #frame {
    margin: 0px auto;
    }


    #frame td {
    padding: 20px;
    width: 300px;
    counter-increment: Index;
    }


    #frame td,
    #frame th {
    outline: 2px solid red;
    }


    #frame fieldset {
    display: flex;
    flex-direction: column;
    border: 2px solid green;
    background-color: bisque;
    }


    #frame input {
    margin-bottom: 10px;
    }


    #frame button {
    font-family: Vazirmatn;
    }


    span[name="num"]::after {
    content: counter(Index);
    }


    ساختار کلی داکیومنت
    <!DOCTYPE html>
    <html lang="en">


    <head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>589361</title>
    <style>
    ...
    </style>
    </head>


    <body>
    ...
    </body>


    </html>


    خب مشخص هست که فیلدست سمت راست چون اندازه اش مشخص نیست
    نمیتونه قدش رو با سمت چپی یکی کنه (اون 100% رو برداشتم چون تاثیری نداره)

  8. #8
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    72
    پست
    3,355

    نقل قول: چطور ارتفاع یک fieldset رو در یک خانه از جدول fit خانه جدول می شه

    مشخص هست که اگر برای فیلدست height مشخصی معین کنیم (مثلا 300px) مشکلی نیست.
    پس در این مسئله خاص یک راه این هست که خودمون در مرورگر اندازه بزرگترین فیلدست رو پیدا،
    و بعد در داکیومنت اعمال کنیم.

    من این کار رو انجام دادم (در پست های بعدی روش رو یاد میدم) و اندازه 225px بدست اومد (نیاز به توضیح نیست برای این داکیومنت در همین شرایط).
    اگر این داکیومنت ما کلا قرار نیست رسپانسیو باشه و ساختارش هم استاتیک هست،
    میتونیم همین رو ست کنیم و خلاص!

            #frame fieldset {
    display: flex;
    flex-direction: column;
    border: 2px solid green;
    background-color: bisque;
    height:225px;
    }


    3_fixed_height_fieldset_225px.png

    و اگر height=300px بگذاریم:

    2_fixed_height_fieldset_300px.png

  9. #9
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    72
    پست
    3,355

    نقل قول: چطور ارتفاع یک fieldset رو در یک خانه از جدول fit خانه جدول می شه

    حالا اگر که height فیلدست ها رو بخوایم بر اساس اندازه td مشخص کنیم،
    باید به td یک height شناخته شده بدیم.

    مثلا اگر قد td رو 40% از قد viewport بگذاریم،
    چون قد viewport مشخص هست،
    در زمان رندر شدن fieldset اندازه اون مشخص هست
    و اینبار اگر نسبت به قد td مشخص کنیم درست کار میکنه:

    #frame td {
    padding: 20px;
    width: 300px;
    counter-increment: Index;
    height: 40vh;
    }


    #frame fieldset {
    display: flex;
    flex-direction: column;
    border: 2px solid green;
    background-color: bisque;
    height:100%;
    }


    4_fixed_height_for_td.png

  10. #10
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    72
    پست
    3,355

    نقل قول: چطور ارتفاع یک fieldset رو در یک خانه از جدول fit خانه جدول می شه

    اگر برمبنای همین روش کنونی بخواهیم پیش بریم (یعنی هر فیلدست در tdهای کنار هم از یک tr)،
    با css تنها دستمون بسته است اگر بخواهیم که همه فیلدست ها قدشون با
    بلندترین اونها (که قد خودش هم خودکار بر اساس المانهای داخلش هست) بصورت خودکار یکسان باشه.

    میتونیم از javascript کمک بگیریم که خودش این محاسبات رو انجام بده،
    فقط باید دقت کنیم کد زمانی باید اجرا بشه که همه المانها رندر شده باشن و اندازه هاشون محاسبه شده باشه،
    برای همین در رخداد window.onload این کار رو میکنیم.

    به این روش که در یک حلقه height همه فیلدست ها رو میخونیم و در یک array میریزیم (منظور height بعد از رندر همه المانها هست و نه اونی که با style ست کردیم)،
    بعد بزرگترینشون رو پیدا میکنیم،
    ودر یک حلقه دیگه height همه رو به این ست میکنیم:

    <script>
    window.addEventListener("load", function () {
    let fsx = document.querySelectorAll('#frame fieldset');
    var heights = [];
    for (var i = 0; i < fsx.length; i++) {
    heights.push(parseFloat(window.getComputedStyle(fs x[i]).height));
    };
    const max_height = Math.max.apply(null, heights);
    //UserID.value = max_height;
    for (var i = 0; i < fsx.length; i++) {
    fsx[i].style.height = max_height + 'px';
    };
    });
    </script>


    گرچه اینجا فقط 2 تا فیلدست داریم و نوشتن حلقه لازم نیست،
    ولی راه کلی همینه و میتونه برای هر تعداد به کار بره بدون نیاز به ویرایش کد.

    و نتیجه هم که مشخص هست:

    5_set_height_js.png

  11. #11
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    72
    پست
    3,355

    نقل قول: چطور ارتفاع یک fieldset رو در یک خانه از جدول fit خانه جدول می شه

    اگر در پست بالایی دقت کرده باشین
    در فیلد userid یک اندازه 225.1 دیده میشه.

    این همون 225 پیکسل هست که در پشت شماره 8 صحبتش شد،
    و از اینجا میاد:
    UserID.value = max_height;


    و باید حتما در مود compatibility مرورگر اجرا بشه تا اندازه درست بدست بیاد!

  12. #12
    کاربر دائمی آواتار ROSTAM2
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    فارس
    پست
    1,867

    Cool نقل قول: چطور ارتفاع یک fieldset رو در یک خانه از جدول fit خانه جدول می شه

    سلام مجدد

    ممنون از تلاش هاتون
    من با تغییر Display به flex اینا از tr ماجرای ارتفاعشو حل کردم....
    اما web browser از خصوصیت های align-content و justify-content پشتیبانی نمی کنه:

    SharedScreenshotf.jpg

    ولی همین سند در Edge به درستی نمایش داده می شه....

    MS Edge.jpg

    در مورد WebView2 هم من گشتم و دانلود کردم ولی نسخه مناسب با VS 2010 رو پیدا نکردم و شایدم خیلی مشتاقش نبودم.
    فایل های ضمیمه فایل های ضمیمه

  13. #13
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    72
    پست
    3,355

    نقل قول: چطور ارتفاع یک fieldset رو در یک خانه از جدول fit خانه جدول می شه

    سلام دوباره

    من با تغییر Display به flex اینا از tr ماجرای ارتفاعشو حل کردم....
    البته من هنوز تموم نکرده بودم مطلب رو
    و روش های دیگه هم با table و هم بدون اون رو هم میخواستم بتدریج و سر فرصت اضافه کنم،
    که گویا دیگه موضوعیتی نداره.
    ولی اگر شما یا دیگری علاقمند هست میشه هنوز ادامه داد بحث رو تا تکمیل بشه.

    یک جزئیاتی هم هست که میدونستم بهش میرسین:
    اما web browser از خصوصیت های align-content و justify-content پشتیبانی نمی کنه:
    برای همین در پست 2 پرسیده بودم:
    بعد که این 2 فیلدست هم قد شدن، المانهای توی اونی که قدش بلند میشه چجوری align بشن؟
    و البته که پشتیبانی ie11 از flexbox (و بعضی چیزای دیگه) نصفه-نیمه است (partial) ،
    و هر چیزی رو باید تست کنین:
    روشهایی مثل flexbox برای مرورگرهای مدرن هست.
    ولی اونی که در وب بروزر هست قشنگتره! (نظر شخصی)
    چون فیلدها و لیبل ها با هم تراز هستن.


    ولی همین سند در Edge به درستی نمایش داده می شه....
    این رو چند بار در جاهای مختلف همین سایت دلایلش رو توضیح دادم - یکیش که ذهنم یاری میکنه:
    سوال: چرا این صفحه Scrollable می شود؟! (barnamenevis.org)

    تصویر پیوست پست 1 هم از همین دسته هست ،
    فکر کنم اونجا برای legend یک border گذاشته بودین که در وب بروزر فاجعه میشه،
    برای همین در کدهای پست 5 کنار گذاشته بودین.

  14. #14
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    72
    پست
    3,355

    نقل قول: چطور ارتفاع یک fieldset رو در یک خانه از جدول fit خانه جدول می شه

    در مورد WebView2 هم من گشتم و دانلود کردم ولی نسخه مناسب با VS 2010 رو پیدا نکردم و شایدم خیلی مشتاقش نبودم.
    این webview2 رو در جریان باشین که:
    درسته که چون از انجین کرومیوم استفاده میکنه مشکلات مربوط به html/css/javascript رو درنمایش داکیومنت ها نخواهید داشت،
    ولی به اون سادگی و زیبایی که در کنترل وب بروزر به dom دسترسی و تعامل دارین نیست،
    و واقعا کار باهاش اعصاب قوی میخواد و دیگه فان نیست!

    برای ساخت فرم های زیبا همین وب بروزر کافی هست.

تاپیک های مشابه

  1. رنگ border در fieldset
    نوشته شده توسط emad_67 در بخش طراحی وب (Web Design)
    پاسخ: 3
    آخرین پست: پنج شنبه 23 آبان 1387, 20:36 عصر
  2. سوال در مورد تگ Fieldset
    نوشته شده توسط zerobit-ltd در بخش طراحی وب (Web Design)
    پاسخ: 0
    آخرین پست: دوشنبه 06 فروردین 1386, 14:28 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •