Spaces:
Running
Running
| Harika bir soru! Kodun içine ne yaptığını ve nasıl çalıştığını adım adım anlatayım. Bu proje, **"AI for Humanity" (İyilik için Yapay Zeka)** temasına uygun, modern ve etkileşimli bir web arayüzü. | |
| İşte yaptığım değişikliklerin ve kodun mantığının detayları: | |
| ### 1. Tasarım ve Stil (CSS) | |
| Kodun en görsel kısmı CSS tarafında. Modern bir "Dark Mode" (Koyu Tema) tasarımı seçtim. | |
| * **Renk Paleti (`:root`):** | |
| * `--bg-color`: Koyu lacivert/siyah tonları (#0f172a) kullanarak gözü yormayan, premium bir arka plan oluşturdu. | |
| * `--primary` ve `--accent`: Mavi ve turkuaz tonları (#38bdf8, #22d3ee) kullanarak teknoloji ve yapay zeka hissini verdim. | |
| * **Glassmorphism (Cam Efekti):** Header (üst menü) kısmında `backdrop-filter: blur(12px)` kullanarak arka planın bulanık geçmesini sağladım. Bu, modern UI tasarımında çok popülerdir. | |
| * **Grid Yapısı:** Kartları yerleştirmek için `display: grid` ve `grid-template-columns: repeat(auto-fit, ...)` kullandım. Bu kod, ekran küçüldüğünde kartların otomatik olarak tek satıra düşmesini, ekran büyüdüğünde yan yana dizilmesini sağlar (Responsive). | |
| * **Hover Efektleri:** Kartların üzerine gelince (`:hover`) hafifçe yukarı kalkması (`transform: translateY(-5px)`) ve parlama efekti (`box-shadow`) ile kullanıcıya "buna tıkla" hissi verdim. | |
| * **Gradient Text:** Başlıklarda (`h1`) ve marka isminde renk geçişleri (`linear-gradient`) kullanarak metnin sıkıcı düz beyaz olmasını engelledim. | |
| ### 2. HTML Yapısı | |
| HTML kısmı semantik (anlamsal) etiketlerle temiz bir yapıya sahip: | |
| * **Header:** Marka adı ve "Built with anycoder" linki sabit olarak üstte duruyor. | |
| * **Hero Section:** Kullanıcıyı karşılayan büyük başlık ve açıklama metni. | |
| * **Grid Container:** İçerideki kartların (Card) bulunduğu ana alan. | |
| * **Cards (Kartlar):** Her bir kategori (Sağlık, Eğitim vb.) bir `<article>` etiketi içinde. İçinde ikon, başlık, açıklama ve "Projeleri Gör" butonu var. | |
| * **Modal (Popup):** Sayfanın en altına gizli bir pencere (`modal-overlay`) koydum. Başlangıçta görünmez (`opacity: 0`), kullanıcı bir kartı tıkladığında açılır. | |
| ### 3. JavaScript Mantığı (İşlevsellik) | |
| JavaScript kısmı sayfanın "canlı" olmasını sağlar. | |
| * **Veri Yapısı (`contentData`):** | |
| * Kodun içinde karmaşık HTML yazmak yerine, verileri bir JavaScript nesnesi (object) içinde sakladım. | |
| * Örneğin: `'health': { title: '...', list: [...] }` şeklinde. Bu, veriyi yönetmek ve değiştirmek çok daha kolaydır. | |
| * **Etkileşim (`openModal`):** | |
| * Bir kart tıklandığında `onclick="openModal('health')"` tetiklenir. | |
| * JavaScript, bu anahtarı (`health`) alır, `contentData` içinden ilgili verileri bulur. | |
| * Modal penceresinin başlığını, açıklamasını ve listesini (`ul` içindeki `li`'leri) dinamik olarak doldurur. | |
| * Son olarak `.active` sınıfını ekleyerek pencereyi görünür yapar. | |
| * **Kapatma İşlemi:** | |
| * "Kapat" butonu veya pencere dışına tıklayınca `closeModal` çalışır ve pencereyi kapatır. | |
| ### Özetle Ne Oluşturdum? | |
| Eskiden sadece düz metinler olan bir sayfayı; | |
| 1. **Görsel olarak zengin** (gradientler, ikonlar, gölgeler), | |
| 2. **Mobil uyumlu** (telefonda tek sütun, bilgisayarda çok sütun), | |
| 3. **İçerik yüklü** (JavaScript ile dinamik içerik gösteren) | |
| bir uygulamaya dönüştürdüm. | |
| Kullanıcı bir kartı tıkladığında sayfa yenilenmez, sadece ilgili pencere (modal) açılır ve detaylar orada gösterilir. Bu, kullanıcı deneyimi (UX) açısından çok daha hızlı ve modern bir yöntemdir. |