View Full Version : سوال: چرا فایرفاکس تگهای p رو تغییر موقعیت می ده!
idocsidocs
پنج شنبه 21 شهریور 1392, 12:54 عصر
برای نمایش نظرات و پاسخ های کاربران از این روش استفاده می کنم:
<p class="replay">r1
<p class="replay">r2
<p class="replay">r3</p>
</p>
</p>
اما مرورگر موقعیت تگها رو به این صورت تغییر می ده، دلیل این کار چیه و چطور می تونم جلوی ای کار رو بگیرم؟
<p class="replay">r1</p>
<p class="replay">r2</p>
<p class="replay">r3</p>
parvizwpf
پنج شنبه 21 شهریور 1392, 12:59 عصر
یعنی داری میگی مروگر تو کد شما دست برده؟ من زدم مرورگر تغییری نمیده.
Omid Jackson
پنج شنبه 21 شهریور 1392, 13:03 عصر
برای نمایش نظرات و پاسخ های کاربران از این روش استفاده می کنم:
<p class="replay">r1
<p class="replay">r2
<p class="replay">r3</p>
</p>
</p>اما مرورگر موقعیت تگها رو به این صورت تغییر می ده، دلیل این کار چیه و چطور می تونم جلوی ای کار رو بگیرم؟
<p class="replay">r1</p>
<p class="replay">r2</p>
<p class="replay">r3</p>
خداییش کی تو پاراگراف یه پاراگراف تعریف میکنه؟:|
برای اینکه تگ p نیاز به بسته شدن نداره
شما دقیقا تو نمایشش مشکلتون چیه؟
omidabedi
پنج شنبه 21 شهریور 1392, 14:28 عصر
خداییش کی تو پاراگراف یه پاراگراف تعریف میکنه؟:|
برای اینکه تگ p نیاز به بسته شدن نداره
شما دقیقا تو نمایشش مشکلتون چیه؟
کی گفته p نیاز به بسته شدن نداره؟!!!!!!
همه تگ ها نیاز به بسته شدن داره حتی تگ هایی مثل br به این شکل میبندنش:
</ br>
اینم که میبینی تگی رو مثلا نمیبندی اما درست نمایش میده بخاطر اینه که خود مرورگر تشخیص میده و دلیل بر استاندارد و صحیح بودن نوشتن نمیشه.
اما پاسخ به دوستمون
css reset یعنی اینکه تگ های html رو استایل دهی کنی خودت در ابتدا که هر مرورگر ساز خودش رو برای نمایش نزنه
مثال:
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
display: block;
}
body {
line-height: 1;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
Omid Jackson
پنج شنبه 21 شهریور 1392, 14:57 عصر
کی گفته p نیاز به بسته شدن نداره؟!!!!!!
همه تگ ها نیاز به بسته شدن داره حتی تگ هایی مثل br به این شکل میبندنش:
</ br>
اینم که میبینی تگی رو مثلا نمیبندی اما درست نمایش میده بخاطر اینه که خود مرورگر تشخیص میده و دلیل بر استاندارد و صحیح بودن نوشتن نمیشه.
اما پاسخ به دوستمون
css reset یعنی اینکه تگ های html رو استایل دهی کنی خودت در ابتدا که هر مرورگر ساز خودش رو برای نمایش نزنه
مثال:
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
display: block;
}
body {
line-height: 1;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
اگر بسته شدن اجباری بود با این کد که نوشتم خود مرورگر تشخیص میداد و کد بالا به شکل زیر در نمیومد:
<p class="replay">r1</p>
<p class="replay">r2</p>
<p class="replay">r3</p>
<p> </p>
<p> </p>
تگ p رو هم تا جایی ادامه میده که به یه تگ باز دیگه برسه
میتونین خودتون امتحان کنین
</p> REQUIRED in XHTML, Optional in HTML 4.01
http://webdesign.about.com/od/htmltags/p/bltags_paragrap.htm
omidabedi
پنج شنبه 21 شهریور 1392, 15:32 عصر
داداشه من اگر اینجوری بنویسی مرورگر اینجوری فکر میکنه هست
<body>
<p></p> REQUIRED in XHTML, Optional in HTML 4.01
http://webdesign.about.com/od/htmltags/p/bltags_paragrap.htm
</body>
omidabedi
پنج شنبه 21 شهریور 1392, 15:40 عصر
بعدشم خب وقتی تگ یکسانی رو تو هم مینویسی مرورگر به اولین تگ باز از همون نوع که رسید اتوماتیک فکر میکنه یادت رفته تگ قبلی رو ببندی و برات میبندتش.
از طرفیم به هر تگ بسته ای رسید فکر میکنه یادت رفته بازش کنی و خودش قبلش یه تگ باز میزاره برای همینه که کد دوستمون به این شکل در اومده
Omid Jackson
پنج شنبه 21 شهریور 1392, 15:44 عصر
داداشه من اگر اینجوری بنویسی مرورگر اینجوری فکر میکنه هست
<body>
<p></p> REQUIRED in XHTML, Optional in HTML 4.01
http://webdesign.about.com/od/htmltags/p/bltags_paragrap.htm
</body>
اون کد نبود که، کلا گذاشتمش تو کد
تو اون سایت این نوشته هست
اگر سرچ کنی تو گوگل میبینی خیلی جاها نوشتن اختیاریه، اجباری نیست
ولی باشه بهتره، مثلا اگر بخوایم با جاوا اسکریپت مقدارش رو عوض کنیم اگر نبندیم هیچ تغییری نمیکنه (تجربه خودم بوده)
و اینکه استایل صفحه بهم میریزه
اما تا جایی هم که من میدونم نمیشه یه تگ p رو تو یه تگ p دیگه گذاشت که بخوای بعد از تگ دومی، تگ اولی رو ببندی
میشه کنار هم گذاشتشون با display اما قادر به انجام اون کار نیستیم، شاید هم باشیم من بلد نباشم
Omid Jackson
پنج شنبه 21 شهریور 1392, 15:45 عصر
بعدشم خب وقتی تگ یکسانی رو تو هم مینویسی مرورگر به اولین تگ باز از همون نوع که رسید اتوماتیک فکر میکنه یادت رفته تگ قبلی رو ببندی و برات میبندتش.
از طرفیم به هر تگ بسته ای رسید فکر میکنه یادت رفته بازش کنی و خودش قبلش یه تگ باز میزاره برای همینه که کد دوستمون به این شکل در اومده
اینجوری هم که میگین شما نیست، پس چطور تو یه تگ div میشه یه تگ div دیگه هم تعریف کرد؟؟؟
مگر اینکه روی تگ های inline حساس باشه
Omid Jackson
پنج شنبه 21 شهریور 1392, 16:33 عصر
برای نمایش نظرات و پاسخ های کاربران از این روش استفاده می کنم:
<p class="replay">r1
<p class="replay">r2
<p class="replay">r3</p>
</p>
</p>
اما مرورگر موقعیت تگها رو به این صورت تغییر می ده، دلیل این کار چیه و چطور می تونم جلوی ای کار رو بگیرم؟
<p class="replay">r1</p>
<p class="replay">r2</p>
<p class="replay">r3</p>
http://stackoverflow.com/questions/10601345/ul-element-can-never-be-a-child-of-p-element
شما اینجا چک کنین به جوابتون میرسین
omidabedi
پنج شنبه 21 شهریور 1392, 17:24 عصر
اون کد نبود که، کلا گذاشتمش تو کد
تو اون سایت این نوشته هست
اگر سرچ کنی تو گوگل میبینی خیلی جاها نوشتن اختیاریه، اجباری نیست
ولی باشه بهتره، مثلا اگر بخوایم با جاوا اسکریپت مقدارش رو عوض کنیم اگر نبندیم هیچ تغییری نمیکنه (تجربه خودم بوده)
و اینکه استایل صفحه بهم میریزه
اما تا جایی هم که من میدونم نمیشه یه تگ p رو تو یه تگ p دیگه گذاشت که بخوای بعد از تگ دومی، تگ اولی رو ببندی
میشه کنار هم گذاشتشون با display اما قادر به انجام اون کار نیستیم، شاید هم باشیم من بلد نباشم
بحث از استاندارد هست نه اختیاری و یا خلاقیت مثل هک IE
اینم گفتم که اینکه مرورگر میفهمه و تغییرات رو اعمال میکنه دلیل بر درست بودن این عمل نیست تنها بخاطر خود مرورگر هست.
در مرود تگ های تو هم بازم جوابتو دادم یکم بخون
بعدشم خب وقتی تگ یکسانی رو تو هم مینویسی مرورگر به اولین تگ باز از همون نوع که رسید اتوماتیک فکر میکنه یادت رفته تگ قبلی رو ببندی و برات میبندتش.
از طرفیم به هر تگ بسته ای رسید فکر میکنه یادت رفته بازش کنی و خودش قبلش یه تگ باز میزاره برای همینه که کد دوستمون به این شکل در اومده
omidabedi
پنج شنبه 21 شهریور 1392, 17:25 عصر
اینجوری هم که میگین شما نیست، پس چطور تو یه تگ div میشه یه تگ div دیگه هم تعریف کرد؟؟؟
مگر اینکه روی تگ های inline حساس باشه
بخاطر خاصیت تگ div هست چون اگر کلاس یا id نداشته باشه تغییراتی اعمال نمیکنه
omidabedi
پنج شنبه 21 شهریور 1392, 17:29 عصر
ببین دوست عزیز این کد های html و css که مینویسید تفسیر میشن مثل توابع میمونن تو php و هر کدومشون کاری میکنن پس دلیل نمیشه خواصشون مثل هم باشه.
چرا مثلا میشه چندتا تگ ul و li تو هم استفاده کرد اما نمیشه p استفاده کرد
خب برمیگرده به پشت پرده و تفسیر هر کدومشون
omidabedi
پنج شنبه 21 شهریور 1392, 17:33 عصر
الان مثلا کد دوستمون
<p class="replay">r1
<p class="replay">r2
<p class="replay">r3</p>
</p>
</p>
@idoc
ایا میشه شما خودت اینو تفسیر کنی نمایش بدی؟؟؟
خوندنش این میشه
یه پاراگراف توی یه پاراگراف دیگه و این دوتا رو توی یه پاراگراف دیگه بزار.
اصلا به معنی پاراگراف دقت کنی نمیشه توی یه پاراگراف یه پاراگراف دیگه بنویسی چون اون خوده پاراگراف داخلی میشه یه پاراگراف جداگانه
Omid Jackson
پنج شنبه 21 شهریور 1392, 18:13 عصر
الان مثلا کد دوستمون
<p class="replay">r1
<p class="replay">r2
<p class="replay">r3</p>
</p>
</p>
@idoc
ایا میشه شما خودت اینو تفسیر کنی نمایش بدی؟؟؟
خوندنش این میشه
یه پاراگراف توی یه پاراگراف دیگه و این دوتا رو توی یه پاراگراف دیگه بزار.
اصلا به معنی پاراگراف دقت کنی نمیشه توی یه پاراگراف یه پاراگراف دیگه بنویسی چون اون خوده پاراگراف داخلی میشه یه پاراگراف جداگانه
میشه شما بفرمایین دقیقا من تو پست اولم چی نوشتم؟؟؟؟
بعد با آدم نفهم که صحبت نمیکنی
آخه این طرز جواب دادنه؟
بعدشم خب وقتی تگ یکسانی رو تو هم مینویسی مرورگر به اولین تگ باز از همون نوع که رسید اتوماتیک فکر میکنه یادت رفته تگ قبلی رو ببندی و برات میبندتش.
ببین دوست عزیز این کد های html و css که مینویسید تفسیر میشن مثل توابع میمونن تو php و هر کدومشون کاری میکنن پس دلیل نمیشه خواصشون مثل هم باشه.
چرا مثلا میشه چندتا تگ ul و li تو هم استفاده کرد اما نمیشه p استفاده کرد
یکم دقت کن خودت حرف میزنی بعد تو پست بعدیت حرفت رو نقض میکنی
دم استاندارد رو گرفتی ول نمیکنی، بله بنده هم گفتم که، اون استاندارد هم که میگی برای قشنگی نیستش مثل دلیل هایی که بالا گفتمه
جون من میخواین یه حرفی بزنین درست اثبات کنین (از نقل قول ها معلومه اثبات کردنت) اگر درست بود قبول میکردم. الآن هم نمیگم که نبستنش درسته ولی میشه نبست
اما یه جا میگی بسته به خاصیتی که دارن عمل میکنن بعد میگی مرورگر به تگ باز همسان میرسه خودش میبنده
با بچه که حرف نمیزنی این مدلی حرفتو اثبات میکنی و با زور که نمیشه حرف ثابت کرد
ممنون، خیلی یاد دادی بهم
omidabedi
پنج شنبه 21 شهریور 1392, 20:08 عصر
میشه شما بفرمایین دقیقا من تو پست اولم چی نوشتم؟؟؟؟
بعد با آدم نفهم که صحبت نمیکنی
داش انگار 3 کار میکنیااا
شما idoc هستید؟؟؟؟
حرفمو نقض نکردم گفتم که یه تگی بسته به خاصیتش میشه در هم نوشتش یکی نه و اونایی که نمیشه در هم نوشتش مرورگر اینجوری عمل میکنه.
جواب سوالتو دادم که گفتی چرا دیو میشه در هم نوشتش.
دعوا نداریم درست صحبت کن لطفا
omidabedi
پنج شنبه 21 شهریور 1392, 20:11 عصر
اگرم از منطق برنامه سر در نمیاری بشینم برات مثل مرورگر تفسیر کنم خوب متوجه بشی.
میخوای؟
ایا میشه شما خودت اینو تفسیر کنی نمایش بدی؟؟؟
خوندنش این میشه
یه پاراگراف توی یه پاراگراف دیگه و این دوتا رو توی یه پاراگراف دیگه بزار.
اصلا به معنی پاراگراف دقت کنی نمیشه توی یه پاراگراف یه پاراگراف دیگه بنویسی چون اون خوده پاراگراف داخلی میشه یه پاراگراف جداگانه
بعدشم لحن صحبتم مشکلی نداره و مخاطبشم نه تو هستی نه کسه دیگه. دارم از طرف کد به مرورگر میگم.
خوب بخون بعد جبهه گیری کن.
برا دعوا که نیومدیم اینجا
idocsidocs
پنج شنبه 21 شهریور 1392, 20:18 عصر
یعنی داری میگی مروگر تو کد شما دست برده؟ من زدم مرورگر تغییری نمیده.توی فایرفاکس این اتفاق افتاد جالب اینجاست که برای تگهای div این مورد پیش نمی یاد و برای حل کردن موضوع از تگ div استفاده کردم.
خداییش کی تو پاراگراف یه پاراگراف تعریف میکنه؟:|بخش نظرات سایته و برنامه به این صورت تعریف شده!
css reset یعنی اینکه تگ های html رو استایل دهی کنی خودت در ابتدا که هر مرورگر ساز خودش رو برای نمایش نزنهcss reset که جای تگها رو تغییر نمی ده و فکر نکنم این کد مفید باشه.
اما می خوام تگ p رو بکار ببرم و نمی خوام از تگ div استفاده کنم.
omidabedi
پنج شنبه 21 شهریور 1392, 20:22 عصر
توی فایرفاکس این اتفاق افتاد جالب اینجاست که برای تگهای div این مورد پیش نمی یاد و برای حل کردن موضوع از تگ div استفاده کردم.
بخش نظرات سایته و برنامه به این صورت تعریف شده!
css reset که جای تگها رو تغییر نمی ده و فکر نکنم این کد مفید باشه.
اما می خوام تگ p رو بکار ببرم و نمی خوام از تگ div استفاده کنم.
من نام تاپیک رو خوندم فکر کردم چون فقط تو firefox مشکل دارید از این میتونه باشه نمیدونستم...
همونطور که گفتم نمیشه خب شما جای مرورگر چطوری میخوای یه پاراگراف تو یه پاراگراف دیگه بسازی؟؟
هروقت رو کاغذ تونستی بعد بگو چرا تو وب نمیشه.
Omid Jackson
پنج شنبه 21 شهریور 1392, 20:27 عصر
اگرم از منطق برنامه سر در نمیاری بشینم برات مثل مرورگر تفسیر کنم خوب متوجه بشی.
میخوای؟
بعدشم لحن صحبتم مشکلی نداره و مخاطبشم نه تو هستی نه کسه دیگه. دارم از طرف کد به مرورگر میگم.
خوب بخون بعد جبهه گیری کن.
برا دعوا که نیومدیم اینجا
شرمنده، من فکر کردم با منی
اقلا نقل قول میگرفتی، با @ خالی که معلوم نمیشه
باز عذر میخوام تند رفتم
omidabedi
پنج شنبه 21 شهریور 1392, 20:27 عصر
برنامه رو تغییر بده اگر دسترسی به سورس داری
بعدشم نه فقط تو FF توی همه مرورگر ها تغییر میکنه من با کروم چک کردم
omidabedi
پنج شنبه 21 شهریور 1392, 20:28 عصر
شرمنده، من فکر کردم با منی
اقلا نقل قول میگرفتی، با @ خالی که معلوم نمیشه
باز عذر میخوام تند رفتم
خواهش عزیز
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.