Categoría · Secciones de Características Nivel de Dificultad · Intermedio Publicado el · 15 de enero de 2024
Sección de Cultura Empresarial
Una sección moderna de cultura empresarial con valores del equipo, declaración de misión y elementos interactivos
#company
#culture
#about
#team
#values
#mission
#corporate
Diseño Responsivo
Sí
Soporte para Modo Oscuro
No
líneas
461
Compatibilidad del Navegador
No
Vista Previa en Vivo
Interactúa con el componente sin salir de la página.
Sección de Cultura Empresarial
Una sección integral de cultura empresarial que muestra los valores, misión y cultura del equipo de tu organización con diseño moderno y elementos interactivos.
Características
- Diseño Responsivo: Se adapta perfectamente a todos los tamaños de pantalla
- Tarjetas de Valores Interactivas: Efectos hover y animaciones
- Declaración de Misión: Visualización prominente con tipografía elegante
- Estadísticas del Equipo: Contadores animados para métricas clave
- UI Moderna: Diseño limpio y profesional con transiciones suaves
- Accesibilidad: Etiquetas ARIA y soporte para navegación por teclado
- Personalizable: Fácil de modificar colores, contenido y diseño
HTML
<section class="company-culture-section">
<div class="container">
<!-- Encabezado -->
<div class="section-header">
<h2 class="section-title">Nuestra Cultura Empresarial</h2>
<p class="section-subtitle">Construyendo un lugar de trabajo donde la innovación prospera y las personas crecen</p>
</div>
<!-- Declaración de Misión -->
<div class="mission-statement">
<div class="mission-content">
<h3 class="mission-title">Nuestra Misión</h3>
<p class="mission-text">
Creemos en crear tecnología que empodere a las personas y transforme los negocios.
Nuestra misión es entregar soluciones innovadoras mientras fomentamos una cultura de
colaboración, creatividad y aprendizaje continuo.
</p>
</div>
<div class="mission-visual">
<div class="mission-icon">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 10V3L4 14h7v7l9-11h-7z" />
</svg>
</div>
</div>
</div>
<!-- Valores Fundamentales -->
<div class="values-section">
<h3 class="values-title">Nuestros Valores Fundamentales</h3>
<div class="values-grid">
<div class="value-card" data-value="innovation">
<div class="value-icon">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor">
<circle cx="12" cy="12" r="5"/>
<line x1="12" y1="1" x2="12" y2="3"/>
<line x1="12" y1="21" x2="12" y2="23"/>
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/>
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/>
<line x1="1" y1="12" x2="3" y2="12"/>
<line x1="21" y1="12" x2="23" y2="12"/>
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/>
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/>
</svg>
</div>
<h4 class="value-name">Innovación</h4>
<p class="value-description">Abrazamos nuevas ideas y tecnologías para resolver problemas complejos</p>
</div>
<div class="value-card" data-value="collaboration">
<div class="value-icon">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z" />
</svg>
</div>
<h4 class="value-name">Colaboración</h4>
<p class="value-description">Juntos logramos más de lo que podríamos lograr solos</p>
</div>
<div class="value-card" data-value="integrity">
<div class="value-icon">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z" />
</svg>
</div>
<h4 class="value-name">Integridad</h4>
<p class="value-description">Hacemos lo correcto, incluso cuando nadie nos está viendo</p>
</div>
<div class="value-card" data-value="growth">
<div class="value-icon">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7h8m0 0v8m0-8l-8 8-4-4-6 6" />
</svg>
</div>
<h4 class="value-name">Crecimiento</h4>
<p class="value-description">El aprendizaje continuo y la mejora impulsan nuestro éxito</p>
</div>
</div>
</div>
<!-- Estadísticas -->
<div class="stats-section">
<div class="stats-grid">
<div class="stat-item">
<div class="stat-number" data-target="150">0</div>
<div class="stat-label">Miembros del Equipo</div>
</div>
<div class="stat-item">
<div class="stat-number" data-target="50">0</div>
<div class="stat-label">Países</div>
</div>
<div class="stat-item">
<div class="stat-number" data-target="98">0</div>
<div class="stat-label">Satisfacción del Cliente</div>
<div class="stat-suffix">%</div>
</div>
<div class="stat-item">
<div class="stat-number" data-target="5">0</div>
<div class="stat-label">Años de Excelencia</div>
</div>
</div>
</div>
</div>
</section>
CSS
.company-culture-section {
padding: 80px 0;
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
color: white;
position: relative;
overflow: hidden;
}
.company-culture-section::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="50" cy="50" r="1" fill="%23ffffff" opacity="0.1"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>') repeat;
pointer-events: none;
}
.container {
max-width: 1200px;
margin: 0 auto;
padding: 0 20px;
position: relative;
z-index: 1;
}
/* Encabezado de Sección */
.section-header {
text-align: center;
margin-bottom: 60px;
}
.section-title {
font-size: 3rem;
font-weight: 700;
margin-bottom: 16px;
background: linear-gradient(45deg, #ffffff, #e0e7ff);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.section-subtitle {
font-size: 1.25rem;
opacity: 0.9;
max-width: 600px;
margin: 0 auto;
line-height: 1.6;
}
/* Declaración de Misión */
.mission-statement {
display: grid;
grid-template-columns: 2fr 1fr;
gap: 40px;
align-items: center;
margin-bottom: 80px;
padding: 40px;
background: rgba(255, 255, 255, 0.1);
border-radius: 20px;
backdrop-filter: blur(10px);
border: 1px solid rgba(255, 255, 255, 0.2);
}
.mission-title {
font-size: 2rem;
font-weight: 600;
margin-bottom: 20px;
color: #e0e7ff;
}
.mission-text {
font-size: 1.125rem;
line-height: 1.7;
opacity: 0.95;
}
.mission-visual {
display: flex;
justify-content: center;
align-items: center;
}
.mission-icon {
width: 120px;
height: 120px;
background: linear-gradient(45deg, #fbbf24, #f59e0b);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
animation: float 3s ease-in-out infinite;
}
.mission-icon svg {
width: 60px;
height: 60px;
color: white;
}
@keyframes float {
0%, 100% { transform: translateY(0px); }
50% { transform: translateY(-10px); }
}
/* Sección de Valores */
.values-section {
margin-bottom: 80px;
}
.values-title {
font-size: 2.5rem;
font-weight: 600;
text-align: center;
margin-bottom: 50px;
color: #e0e7ff;
}
.values-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 30px;
}
.value-card {
background: rgba(255, 255, 255, 0.1);
border-radius: 16px;
padding: 30px;
text-align: center;
backdrop-filter: blur(10px);
border: 1px solid rgba(255, 255, 255, 0.2);
transition: all 0.3s ease;
cursor: pointer;
}
.value-card:hover {
transform: translateY(-10px);
background: rgba(255, 255, 255, 0.15);
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
}
.value-icon {
width: 80px;
height: 80px;
background: linear-gradient(45deg, #10b981, #059669);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 20px;
transition: all 0.3s ease;
}
.value-card:hover .value-icon {
transform: scale(1.1);
background: linear-gradient(45deg, #059669, #047857);
}
.value-icon svg {
width: 40px;
height: 40px;
color: white;
}
.value-name {
font-size: 1.5rem;
font-weight: 600;
margin-bottom: 12px;
color: #e0e7ff;
}
.value-description {
font-size: 1rem;
line-height: 1.6;
opacity: 0.9;
}
/* Sección de Estadísticas */
.stats-section {
background: rgba(255, 255, 255, 0.1);
border-radius: 20px;
padding: 40px;
backdrop-filter: blur(10px);
border: 1px solid rgba(255, 255, 255, 0.2);
}
.stats-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 40px;
}
.stat-item {
text-align: center;
}
.stat-number {
font-size: 3rem;
font-weight: 700;
color: #fbbf24;
margin-bottom: 8px;
display: flex;
align-items: center;
justify-content: center;
gap: 4px;
}
.stat-suffix {
font-size: 2rem;
color: #fbbf24;
}
.stat-label {
font-size: 1.125rem;
opacity: 0.9;
font-weight: 500;
}
/* Diseño Responsivo */
@media (max-width: 768px) {
.company-culture-section {
padding: 60px 0;
}
.section-title {
font-size: 2.5rem;
}
.mission-statement {
grid-template-columns: 1fr;
text-align: center;
gap: 30px;
}
.values-grid {
grid-template-columns: 1fr;
}
.stats-grid {
grid-template-columns: repeat(2, 1fr);
gap: 30px;
}
.stat-number {
font-size: 2.5rem;
}
}
@media (max-width: 480px) {
.section-title {
font-size: 2rem;
}
.stats-grid {
grid-template-columns: 1fr;
}
}
JavaScript
// Contador Animado para Estadísticas
class AnimatedCounter {
constructor(element, target, duration = 2000) {
this.element = element;
this.target = parseInt(target);
this.duration = duration;
this.startValue = 0;
this.startTime = null;
this.isAnimating = false;
}
animate(currentTime) {
if (!this.startTime) this.startTime = currentTime;
const elapsed = currentTime - this.startTime;
const progress = Math.min(elapsed / this.duration, 1);
// Función de easing para animación suave
const easeOutQuart = 1 - Math.pow(1 - progress, 4);
const currentValue = Math.floor(this.startValue + (this.target - this.startValue) * easeOutQuart);
this.element.textContent = currentValue;
if (progress < 1) {
requestAnimationFrame((time) => this.animate(time));
} else {
this.element.textContent = this.target;
this.isAnimating = false;
}
}
start() {
if (!this.isAnimating) {
this.isAnimating = true;
this.startTime = null;
requestAnimationFrame((time) => this.animate(time));
}
}
}
// Intersection Observer para activar animaciones
const observerOptions = {
threshold: 0.5,
rootMargin: '0px 0px -100px 0px'
};
const observer = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
// Animar contadores de estadísticas
if (entry.target.classList.contains('stats-section')) {
const statNumbers = entry.target.querySelectorAll('.stat-number');
statNumbers.forEach(statNumber => {
const target = statNumber.getAttribute('data-target');
if (target && !statNumber.classList.contains('animated')) {
statNumber.classList.add('animated');
const counter = new AnimatedCounter(statNumber, target, 2000);
setTimeout(() => counter.start(), Math.random() * 500);
}
});
}
// Animar tarjetas de valores
if (entry.target.classList.contains('values-section')) {
const valueCards = entry.target.querySelectorAll('.value-card');
valueCards.forEach((card, index) => {
setTimeout(() => {
card.style.opacity = '0';
card.style.transform = 'translateY(30px)';
card.style.transition = 'all 0.6s ease';
setTimeout(() => {
card.style.opacity = '1';
card.style.transform = 'translateY(0)';
}, 100);
}, index * 200);
});
}
}
});
}, observerOptions);
// Inicializar cuando el DOM esté cargado
document.addEventListener('DOMContentLoaded', () => {
// Observar secciones para animaciones
const statsSection = document.querySelector('.stats-section');
const valuesSection = document.querySelector('.values-section');
if (statsSection) observer.observe(statsSection);
if (valuesSection) observer.observe(valuesSection);
// Agregar efectos hover interactivos a las tarjetas de valores
const valueCards = document.querySelectorAll('.value-card');
valueCards.forEach(card => {
card.addEventListener('mouseenter', () => {
card.style.transform = 'translateY(-10px) scale(1.02)';
});
card.addEventListener('mouseleave', () => {
card.style.transform = 'translateY(0) scale(1)';
});
});
// Agregar efectos de clic
valueCards.forEach(card => {
card.addEventListener('click', () => {
const valueName = card.getAttribute('data-value');
// Agregar efecto ripple
const ripple = document.createElement('div');
ripple.style.cssText = `
position: absolute;
border-radius: 50%;
background: rgba(255, 255, 255, 0.3);
transform: scale(0);
animation: ripple 0.6s linear;
pointer-events: none;
left: 50%;
top: 50%;
width: 100px;
height: 100px;
margin-left: -50px;
margin-top: -50px;
`;
card.style.position = 'relative';
card.appendChild(ripple);
setTimeout(() => {
ripple.remove();
}, 600);
// Opcional: Agregar acción personalizada para cada valor
console.log(`Se hizo clic en el valor ${valueName}`);
});
});
});
// CSS para animación ripple
const style = document.createElement('style');
style.textContent = `
@keyframes ripple {
to {
transform: scale(4);
opacity: 0;
}
}
`;
document.head.appendChild(style);
Opciones de Personalización
Colores
- Gradiente Principal: Modifica la propiedad
backgrounden.company-culture-section - Colores de Acento: Cambia los colores del gradiente en
.mission-icony.value-icon - Colores de Texto: Ajusta los valores de color para títulos y descripciones
Contenido
- Declaración de Misión: Actualiza el texto en
.mission-text - Valores: Modifica las tarjetas de valores con los valores fundamentales de tu empresa
- Estadísticas: Cambia los atributos
data-targety las etiquetas
Diseño
- Columnas de Grid: Ajusta
grid-template-columnspara diferentes diseños - Espaciado: Modifica los valores de padding y margin
- Tamaños de Tarjetas: Cambia los valores
minmaxen las definiciones de grid
Compatibilidad del Navegador
- ✅ Chrome 60+
- ✅ Firefox 55+
- ✅ Safari 12+
- ✅ Edge 79+
- ⚠️ IE 11 (con polyfills)
Notas de Rendimiento
- Usa transformaciones CSS para animaciones suaves
- Intersection Observer para animaciones eficientes basadas en scroll
- Optimizado para animaciones a 60fps
- Huella mínima de JavaScript
- Efectos acelerados por GPU con
transformyopacity
HTML
123
líneas
CSS
338
líneas
<section class="company-culture-section">
<div class="container">
<!-- Declaración de Misión -->
<div class="mission-statement">
<h2 class="section-title">Nuestra Misión</h2>
<div class="mission-content">
<p class="mission-text">Nuestra misión es crear soluciones tecnológicas innovadoras que transformen la forma en que las empresas operan, permitiéndoles alcanzar su máximo potencial mientras mantienen un impacto positivo en la sociedad y el medio ambiente.</p>
</div>
</div>
<!-- Valores Principales -->
<div class="core-values">
<h2 class="section-title">Nuestros Valores</h2>
<div class="values-container">
<!-- Valor: Innovación -->
<div class="value-card" data-value="innovation">
<div class="card-inner">
<div class="card-front">
<div class="value-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M12 2v4M12 18v4M4.93 4.93l2.83 2.83M16.24 16.24l2.83 2.83M2 12h4M18 12h4M4.93 19.07l2.83-2.83M16.24 7.76l2.83-2.83"/>
</svg>
</div>
<h3 class="value-title">Innovación</h3>
<p class="value-brief">Impulsamos el cambio a través de ideas creativas</p>
</div>
<div class="card-back">
<h3 class="value-title">Innovación</h3>
<p class="value-description">Constantemente desafiamos el status quo y buscamos nuevas formas de resolver problemas. Fomentamos un entorno donde las ideas audaces son bienvenidas y la experimentación es alentada.</p>
<button class="value-learn-more" aria-label="Más sobre Innovación">Leer más</button>
</div>
</div>
</div>
<!-- Valor: Colaboración -->
<div class="value-card" data-value="collaboration">
<div class="card-inner">
<div class="card-front">
<div class="value-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"/>
<circle cx="9" cy="7" r="4"/>
<path d="M23 21v-2a4 4 0 0 0-3-3.87"/>
<path d="M16 3.13a4 4 0 0 1 0 7.75"/>
</svg>
</div>
<h3 class="value-title">Colaboración</h3>
<p class="value-brief">Juntos logramos más</p>
</div>
<div class="card-back">
<h3 class="value-title">Colaboración</h3>
<p class="value-description">Creemos en el poder del trabajo en equipo y la diversidad de pensamiento. Construimos relaciones sólidas basadas en la confianza, el respeto mutuo y la comunicación abierta.</p>
<button class="value-learn-more" aria-label="Más sobre Colaboración">Leer más</button>
</div>
</div>
</div>
<!-- Valor: Integridad -->
<div class="value-card" data-value="integrity">
<div class="card-inner">
<div class="card-front">
<div class="value-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/>
</svg>
</div>
<h3 class="value-title">Integridad</h3>
<p class="value-brief">Hacemos lo correcto, siempre</p>
</div>
<div class="card-back">
<h3 class="value-title">Integridad</h3>
<p class="value-description">Actuamos con honestidad, transparencia y responsabilidad en todo lo que hacemos. Mantenemos los más altos estándares éticos y cumplimos nuestras promesas a clientes, socios y entre nosotros.</p>
<button class="value-learn-more" aria-label="Más sobre Integridad">Leer más</button>
</div>
</div>
</div>
<!-- Valor: Crecimiento -->
<div class="value-card" data-value="growth">
<div class="card-inner">
<div class="card-front">
<div class="value-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"/>
</svg>
</div>
<h3 class="value-title">Crecimiento</h3>
<p class="value-brief">Evolucionamos constantemente</p>
</div>
<div class="card-back">
<h3 class="value-title">Crecimiento</h3>
<p class="value-description">Estamos comprometidos con el aprendizaje continuo y el desarrollo personal. Abrazamos los desafíos como oportunidades para crecer y nos esforzamos por ser mejores cada día.</p>
<button class="value-learn-more" aria-label="Más sobre Crecimiento">Leer más</button>
</div>
</div>
</div>
</div>
</div>
<!-- Estadísticas de la Empresa -->
<div class="company-stats">
<h2 class="section-title">Nuestro Impacto</h2>
<div class="stats-container">
<div class="stat-item">
<div class="stat-value" id="employeeCount" data-target="120">0</div>
<div class="stat-label">Empleados Globales</div>
</div>
<div class="stat-item">
<div class="stat-value" id="projectsCount" data-target="250">0</div>
<div class="stat-label">Proyectos Completados</div>
</div>
<div class="stat-item">
<div class="stat-value" id="countriesCount" data-target="15">0</div>
<div class="stat-label">Países</div>
</div>
<div class="stat-item">
<div class="stat-value" id="clientsCount" data-target="500">0</div>
<div class="stat-label">Clientes Satisfechos</div>
</div>
</div>
</div>
</div>
</section>