diff --git a/CUSTOM_SELECT_GUIDE.md b/CUSTOM_SELECT_GUIDE.md new file mode 100644 index 0000000..b8d7586 --- /dev/null +++ b/CUSTOM_SELECT_GUIDE.md @@ -0,0 +1,154 @@ +# 🎨 Guia de Personalização de Select/Option - Estilo Caixa + +Este guia demonstra como personalizar elementos `` dos navegadores exibem uma lista dropdown (cascata) quando clicados. Muitas vezes queremos uma aparência mais personalizada, como uma caixa estilizada. + +## ✅ Solução + +### 1. Método Principal: CSS `appearance: none` + +A técnica principal consiste em remover a aparência nativa e aplicar estilos personalizados: + +```css +.custom-select { + /* Remove a aparência padrão do browser */ + appearance: none; + -webkit-appearance: none; /* Safari/Chrome */ + -moz-appearance: none; /* Firefox */ + + /* Aplicar estilos personalizados */ + border: 3px solid #667eea; + border-radius: 15px; + padding: 15px 50px 15px 20px; + background-color: #f8f9ff; + + /* Ícone personalizado */ + background-image: url('data:image/svg+xml...'); + background-position: right 15px center; + background-repeat: no-repeat; +} +``` + +### 2. Propriedades CSS Essenciais + +| Propriedade | Função | +|-------------|---------| +| `appearance: none` | Remove aparência nativa | +| `border` | Define bordas personalizadas | +| `border-radius` | Cria cantos arredondados | +| `padding` | Controla espaçamento interno | +| `background-image` | Adiciona ícone customizado | +| `cursor: pointer` | Indica elemento clicável | + +### 3. Efeitos Interativos + +```css +.custom-select:hover { + border-color: #5a67d8; + background-color: #edf2ff; + transform: translateY(-2px); + box-shadow: 0 10px 25px rgba(102, 126, 234, 0.3); +} + +.custom-select:focus { + outline: none; + border-color: #4c51bf; + box-shadow: 0 0 0 4px rgba(102, 126, 234, 0.3); +} +``` + +## 📁 Arquivos de Demonstração + +### 1. `select_personalizado.html` +- Exemplo focado na técnica principal +- Design moderno com gradientes +- Código CSS comentado +- Interface responsiva + +### 2. `custom_select_demo.html` +- Comparação entre diferentes abordagens +- Select nativo vs personalizado vs botões +- Demonstração interativa completa + +## 🚀 Como Usar + +1. **Copie o CSS personalizado** para seu projeto +2. **Aplique a classe** `.custom-select` ao seu elemento `` +- Compatível com validação HTML5 +- Acessível com teclado +- Funciona em dispositivos móveis + +### ⚠️ Limitações +- Estilização das `