قراره بهتون تضمین موفقیت در برنامه‌نویسی و کلی آفر ویژه بدیم 😎 (برای شروع کلیک کن 👉)
۰ ثانیه
۰ دقیقه
۰ ساعت
۳ سحر پاشائی
پیاده سازی منو و هدر
جامعه Html & CSS ایجاد شده در ۱۲ مرداد ۱۴۰۲

درود

تمرین من چندتا باگ داره، ممنون می‌شم اگه راهنمایی کنید?

1-بخش topnav:

A) وقتی پوینتر موس تا یه محدوده ای پایین‌تر از آیکون‌ها میره هم عمل هاور اتفاق میوفته و tooltip ظاهر می‌شه، می‌خوام دقیقا خود آکون هاور شد این اتفاق بیوفته

وقتی display براش تعیین می‌کنمم دیگه transition اعمال نمی‌شه

B) سرچ باکس: چطور می‌شه وقتی رو آیکون ذره بین کلیک شد اون اینپوت از راست نرم باز شه؟ و دوباره کلیک شد بسته شه انگار نیست( نمونه‌های کدپن رو دیدم اما اصلا سر در نیاوردم! -_- )

2-بخش منو

A) من منو رو با فلکس پیاده سازی کردم، به نظرم گرید سخته، تو پروژه‌های واقعی معمولا از کدومش استفاده می‌شه برای منو؟

B) بخش hamburger menu من کار نمی‌کنه :/

https://codepen.io/Sahar_Pashaei/pen/vYQvoQM

پیشاپیش ممنون ازکمکتون??

سلام،

  1. بخاطر height ای هست که گرفته میتونید یک border: 1px solid red برای .topnav بگذارید و تا محدوده ی ارتفاعش مشخص شود.
  2. میتونید با کمک جاوااسکریپت پیاده کنید:

کدهای جاوااسکریپت:

// When the page is fully loaded, 
// the codes inside the brackets will be interpreted
document.addEventListener("DOMContentLoaded", function() {
  const inputSearch = document.querySelector(".input-search");
  const searchBtn = document.querySelector(".search-btn");
  searchBtn.addEventListener("click", function() {
    // Add or remove "active" class based on input class
    inputSearch.classList.toggle("active");
    searchBtn.classList.toggle("active");
    // Input focus cursor
    if (inputSearch.classList.contains("active")) {
      inputSearch.focus();
    }
  });
});

کدهای css:

/* Search Box */
.search-box {
    display: flex;
    align-items: center;
    position: relative; /* relative position */
}
.input-search {
    background: transparent;
    color: var(--black-color-100);
    border-bottom: 1px solid var(--black-color-100);
    opacity: 0.6;
    display: none; /* none display */
}
.search-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    background: transparent;
    padding: 0.2rem;
    /* ============ */
    /* The following codes have been added */
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    /* ============ */
}
.input-search::placeholder {
  color: var(--pale-blue-color-100);
  font-size: 0.75rem;
  letter-spacing: 1.1px;
}
/* ============ */
/* The following codes have been added */
/* Icon when activated */
.input-search.active {
    padding-right: 5px;
    display: block;
}
/* Icon when disabled */
.search-btn.active .fa-magnifying-glass {
    display: none;
}
.search-btn.active::after {
    content: "✕"; /* X character to input */
}

میتونید تغییراتی که مد نظر دارید را روی کدها انجام دهید و position را به حالت قبل برگردانید و یک سری کدهارا حذف کنید تا تغییرات را ببینید. این یک مثال بوده است.

مورد 3: براساس نیازتون و تفاوت هایی که بین این دو وجود دارد انتخاب میکنید که از چه ویژگی استفاده کنید، هردو گرید و فلکس کاربردی و مورد استفاده هستند.

مورد 4: شما آیکون را زیر مجموعه کلاس menu قرار دادید و وقتی menu را display: none میکنید آیکون هم حذف خواهد شد. باید همبرگر منو رو بیارید خارج از ul.menu

محسن موحد ۱۲ مرداد ۱۴۰۲، ۲۳:۵۹

متاسفانه مورد 1 و 2 درست نشد با این روش

سحر پاشائی ۱۳ مرداد ۱۴۰۲، ۱۱:۲۱

درود

راه حل جناب موحد درست هست، منتها اگر هنوز مشکل رفع نشده بفرمایید که کدوم دو مورد مونده (1و 2 یا A,B) تا شاید با راه دیگری بهبود پیدا کنه.

نازنین کریمی مقدم ۱۵ مرداد ۱۴۰۲، ۰۸:۱۶