اذهب إلى المحتوى
  • 0

مشكلة عدم ظهور الموقع بالتنسيق المناسب عند استخدام media queries في CSS

مصطفى اوريك

السؤال

السلام عليكم | وضعت flex-basis: 50% للشاشات التي عرضها من 767px إلى 1199px, و وضعت للشاشات التي عرضها من 1199px إلى ما فوق flex-basis: 25%, لكن لاحظت أنه قبل أن نصل للشاشات ذات العرض 1199px صار flex-basis يساوي 25% , (أنظروا إلى الصورة الموجودة مع هذا السؤال). فهل هذا شيء عادي أم أنه خطأ في الكود ؟

و سؤالي الثاني, إذا وضعنا مثلا هذه الأكواد التالية :

/* الكود الأول */
media (max-width: 767px) {
  div {
  	display: none;
  }
}

/* الكود الثاني */
media (min-width: 767px) {
  div {
  	display: none;
  }
}

في الكود الأول : هل مازال يتم إخفاء عنصر <div> عندما  يصل عرض الجهاز ل 767px أم الخاصية تتوقف عندما يصل عرض الجهاز إلى 766px ؟

و أيضا في الكود الثاني : متى يتم إخفاء عنصر <div> هل عندما يصل عرض الجهاز ل 767px أم عندما يصل إلى 768px ؟

تت.JPG

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 1

ملاحظة عامة، عند استخدام media query تأكد من ترتيب أبعاد الصفحة بشكل صحيح، لأنه كما تعلم آخر تنسيق ل CSS سوف يتم تطبيقه، فإذا كان لديك تنسيقين تريد تطبيقهما على البعدين (500 وأقل) و (600 و أقل) نضع 600 قبل 500 لأنها تشملها

هكذا 550 سيطبق مع 600 أما 450 مع 500 .. 

@media only screen and (max-width: 600px){
      body{ background:green;}
}

@media only screen and (max-width: 500px){
    body{ background:red;}
}

لو وضعناهم بالعكس، 500 ثم 600 لتم تنفيذ تنسيق 600 وأقل على 450 وتخرب التنسيق

  • max-width الكبير أولا
  • min-width الصغير أولا

مقالة مفيدة من مقالات أكاديمية حسوب:

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

السؤال الأول حسب ما اطلعت عليه في الصورة المرفقة أنك مستخدم min-width لكلا الشاشات من 767px فما فوق أيضا الشاشات 1199px فما فوق ، هنا يجب كتابة الكود التالي لتصحيح الخطأ الذي يحدث 

@media (min-width: 767px) and (max-width: 1199px)
{
    div{
        flex-basis: 50%
    }

}

@media (min-width: 1199px)
{
    div{
        flex-basis: 25%
    }

}

السؤال الثاني في الكود الأول  

media (max-width: 767px) {
  div {
  	display: none;
  }
}

سوف يتم إخفاء العنصر لشاشات من حجم 0 إلى 767px 

في الكود الثاني 

media (min-width: 767px) {
  div {
  	display: none;
  }
}

سوف يتم إخفاء العنصر عند وصول حجم الشاشة إلى 767px وحجم الشاشات ما فوق .

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

إنها مشكلة غريبة حقا, قمت بعمل ما فعلت لكن لم يعمل معي الأمر, كتبت الكود في موقع codepen, و حاولت تجربة الأمر فوجدته يعمل!
المشكلة إذن ليس في الكود الذي كتبته لي و إنما في مكان آخر, فبرأيك أين قد تقع المشكلة ؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ الآن قال الشخص المصمم:

إنها مشكلة غريبة حقا, قمت بعمل ما فعلت لكن لم يعمل معي الأمر, كتبت الكود في موقع codepen, و حاولت تجربة الأمر فوجدته يعمل!
المشكلة إذن ليس في الكود الذي كتبته لي و إنما في مكان آخر, فبرأيك أين قد تقع المشكلة ؟

هل يمكنك إرفاق ملفات المشروع ؟ حتى أستطيع النظر إليها وفهم أين المشكلة بالتحديد لديك  

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 31 دقائق مضت قال الشخص المصمم:

إنها مشكلة غريبة حقا, قمت بعمل ما فعلت لكن لم يعمل معي الأمر, كتبت الكود في موقع codepen, و حاولت تجربة الأمر فوجدته يعمل!
المشكلة إذن ليس في الكود الذي كتبته لي و إنما في مكان آخر, فبرأيك أين قد تقع المشكلة ؟

حاول في المتصفح، النقر على ctrl + F5 لكي يتم إعادة تحميل ملف التنسيقات و حذف الملفات المؤقتة.. لتظهر التنسيقات الجديدة، حاول ذلك وأخبرني بالنتيجة

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

 

بتاريخ منذ ساعة مضت قال أسامة زيادة:

هل يمكنك إرفاق ملفات المشروع ؟ حتى أستطيع النظر إليها وفهم أين المشكلة بالتحديد لديك  

ملاحظات :

ملف css موجود في ملف إسمه css
يحتوي ملف css أيضا على ملف normalize و ملف all.min (ملف fontawesome)
 

index.html

master.css

بتاريخ 59 دقائق مضت قال Wael Aljamal:

حاول في المتصفح، النقر على ctrl + F5 لكي يتم إعادة تحميل ملف التنسيقات و حذف الملفات المؤقتة.. لتظهر التنسيقات الجديدة، حاول ذلك وأخبرني بالنتيجة

لم يعمل الأمر

تم التعديل في بواسطة الشخص المصمم
رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 3 ساعات قال الشخص المصمم:

 

ملاحظات :

ملف css موجود في ملف إسمه css
يحتوي ملف css أيضا على ملف normalize و ملف all.min (ملف fontawesome)
 

index.html

master.css

لم يعمل الأمر

تأكد من حفظ الملفات بعد التعديل، كما تأكد من تصفح الملفات المعدلة في المتصفح، ربما لديك نسختين منهم..

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 5 ساعات قال Wael Aljamal:

تأكد من حفظ الملفات بعد التعديل، كما تأكد من تصفح الملفات المعدلة في المتصفح، ربما لديك نسختين منهم..

المشكلة ليست هنا

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 8 ساعات قال الشخص المصمم:

المشكلة ليست هنا

كيف يمكن أن تعمل الصفحة على الموقع ولا تعمل لديك على حاسوبك؟ طالما حذفنا الملفات المؤقتة يفترض أن تظهر بشكل صحيح

أرجو إضافة توضيحات بشأن المشكلة 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 19 ساعات قال الشخص المصمم:

إنها مشكلة غريبة حقا, قمت بعمل ما فعلت لكن لم يعمل معي الأمر, كتبت الكود في موقع codepen, و حاولت تجربة الأمر فوجدته يعمل!
المشكلة إذن ليس في الكود الذي كتبته لي و إنما في مكان آخر, فبرأيك أين قد تقع المشكلة ؟

حسب تجربتي على عدة متصفحات، لاحظت أن هذه مشكلة تظهر على متصفح Google Chrome ، لكن على متصفح Firefox ليس هناك أي مشاكل ، يتم تنفيذ الكود عند الوصول لحجم الشاشة الذي قمت بوضعه . ربما تكون المشكلة من متصفح Google Chrome نفسه ، قم بالتجربة على متصفح آخر 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 3 دقائق مضت قال أسامة زيادة:

حسب تجربتي على عدة متصفحات، لاحظت أن هذه مشكلة تظهر على متصفح Google Chrome ، لكن على متصفح Firefox ليس هناك أي مشاكل ، يتم تنفيذ الكود عند الوصول لحجم الشاشة الذي قمت بوضعه . ربما تكون المشكلة من متصفح Google Chrome نفسه ، قم بالتجربة على متصفح آخر 

جربت الأمر في متصفح  edge و توجد نفس المشكلة به, هل المشكلة لها علاقة بالتوافقية مع المتصفحات, هل علي إستخدام أكواد vendors prefixes مثلا

بتاريخ 28 دقائق مضت قال Wael Aljamal:

كيف يمكن أن تعمل الصفحة على الموقع ولا تعمل لديك على حاسوبك؟ طالما حذفنا الملفات المؤقتة يفترض أن تظهر بشكل صحيح

أرجو إضافة توضيحات بشأن المشكلة 

أنشأت تصميما آخر به نفس المشكلة يمكنك رؤيته هنا :
https://github.com/Mostafa-100/Lean-Template

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 4 دقائق مضت قال الشخص المصمم:

جربت الأمر في متصفح  edge و توجد نفس المشكلة به, هل المشكلة لها علاقة بالتوافقية مع المتصفحات, هل علي إستخدام أكواد vendors prefixes مثلا

لا يوجد مشاكل لديك ، كل ما عليك فعله هو عندما تريد تجربة Responsive للموقع لا تصغر المتصفح يفضل الآتي عمل فحص للعنصر والتجربة على أحجام الشاشات الموضوعة في قائمة الفحص أو وضع الحجم المناسب لديك ، الشكل الموضح بالصورة 

01.png

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 2 دقائق مضت قال أسامة زيادة:

لا يوجد مشاكل لديك ، كل ما عليك فعله هو عندما تريد تجربة Responsive للموقع لا تصغر المتصفح يفضل الآتي عمل فحص للعنصر والتجربة على أحجام الشاشات الموضوعة في قائمة الفحص أو وضع الحجم المناسب لديك ، الشكل الموضح بالصورة 

01.png

شكرا لك على هذه النصيحة, المشكلة حقا توجد في المتصفح لقد قمت بتجربة الـ responsive بالطريقة التي ذكرتها و لاحظت أن الأمر يعمل, شكرا جزيلا مرة أخرى

 

بتاريخ 49 دقائق مضت قال Wael Aljamal:

كيف يمكن أن تعمل الصفحة على الموقع ولا تعمل لديك على حاسوبك؟ طالما حذفنا الملفات المؤقتة يفترض أن تظهر بشكل صحيح

أرجو إضافة توضيحات بشأن المشكلة 

شكرا جزيلا لك أيضا, المشكلة موجودة في المتصفح ليس الكود قمت بتجربة ال responsive بطريقة أخرى في المتصفح و عمل معي الأمر

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...