{"id":5959,"date":"2026-03-04T08:30:00","date_gmt":"2026-03-04T07:30:00","guid":{"rendered":"https:\/\/www.autonocion.com\/motornocion\/?page_id=5959"},"modified":"2026-03-19T12:59:12","modified_gmt":"2026-03-19T11:59:12","slug":"clasificacion","status":"publish","type":"page","link":"https:\/\/www.autonocion.com\/motornocion\/clasificacion\/","title":{"rendered":"Clasificaci\u00f3n Mundial de F1 de Pilotos y Equipos"},"content":{"rendered":"<!DOCTYPE html>\r\n<html lang=\"es\">\r\n<head>\r\n<meta charset=\"UTF-8\">\r\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n<title>Clasificaci\u00f3n F1 2026 \u2013 autonoci\u00f3n<\/title>\r\n<meta name=\"description\" content=\"Clasificaci\u00f3n del Mundial de F\u00f3rmula 1 2026: tabla de pilotos y constructores actualizada tras cada Gran Premio.\">\r\n<meta name=\"robots\" content=\"index, follow\">\r\n<link rel=\"canonical\" href=\"https:\/\/www.autonocion.com\/motornocion\/f1\/clasificacion-2026\/\">\r\n<script type=\"application\/ld+json\">\r\n{\r\n  \"@context\": \"https:\/\/schema.org\",\r\n  \"@type\": \"Table\",\r\n  \"name\": \"Clasificaci\u00f3n Mundial F1 2026 \u2013 Pilotos y Constructores\",\r\n  \"description\": \"Tabla de clasificaci\u00f3n del Campeonato del Mundo de F\u00f3rmula 1 2026, actualizada tras cada Gran Premio\",\r\n  \"url\": \"https:\/\/www.autonocion.com\/motornocion\/f1\/clasificacion-2026\/\"\r\n}\r\n<\/script>\r\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Barlow+Condensed:wght@400;600;700;800&family=Barlow:wght@400;500;600&display=swap\" rel=\"stylesheet\">\r\n<style>\r\n  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\r\n  :root {\r\n    --red: #e10600; --black: #15151e; --gray-mid: #67676d;\r\n    --gray-light: #e8e8e8; --gray-bg: #f5f5f7; --white: #ffffff;\r\n  }\r\n  body { font-family: 'Barlow', sans-serif; background: var(--white); color: var(--black); }\r\n\r\n  .stand-header {\r\n    background: var(--black); padding: 28px 32px 24px;\r\n    display: flex; align-items: center; gap: 16px;\r\n    position: relative; overflow: hidden;\r\n  }\r\n  .stand-header::after {\r\n    content: 'F1'; position: absolute; right: 24px; top: 50%; transform: translateY(-50%);\r\n    font-family: 'Barlow Condensed', sans-serif; font-size: 96px; font-weight: 800;\r\n    color: rgba(255,255,255,0.04); line-height: 1; letter-spacing: -4px; pointer-events: none;\r\n  }\r\n  .stand-header-icon {\r\n    width: 48px; height: 48px; background: var(--red); border-radius: 50%;\r\n    display: flex; align-items: center; justify-content: center; flex-shrink: 0;\r\n  }\r\n  .stand-header-icon svg { width: 22px; height: 22px; fill: white; }\r\n  .stand-header-text h1 {\r\n    font-family: 'Barlow Condensed', sans-serif; font-size: 28px; font-weight: 800;\r\n    color: white; letter-spacing: 1px; text-transform: uppercase; line-height: 1;\r\n  }\r\n  .stand-header-text p { font-size: 13px; color: rgba(255,255,255,0.5); margin-top: 4px; }\r\n\r\n  .stand-tabs {\r\n    display: flex; border-bottom: 2px solid var(--gray-light);\r\n    background: var(--white); padding: 0 32px;\r\n  }\r\n  .tab-btn {\r\n    font-family: 'Barlow Condensed', sans-serif; font-size: 14px; font-weight: 700;\r\n    text-transform: uppercase; letter-spacing: 1px; padding: 14px 20px;\r\n    border: none; background: transparent; color: var(--gray-mid);\r\n    cursor: pointer; position: relative; transition: color 0.18s;\r\n  }\r\n  .tab-btn::after {\r\n    content: ''; position: absolute; bottom: -2px; left: 0; right: 0; height: 2px;\r\n    background: var(--red); transform: scaleX(0); transition: transform 0.2s;\r\n  }\r\n  .tab-btn.active { color: var(--red); }\r\n  .tab-btn.active::after { transform: scaleX(1); }\r\n  .stand-meta {\r\n    margin-left: auto; display: flex; align-items: center;\r\n    font-size: 12px; color: var(--gray-mid); gap: 4px;\r\n  }\r\n  .stand-meta strong { color: var(--black); }\r\n\r\n  .tab-content { display: none; }\r\n  .tab-content.active { display: block; }\r\n\r\n  \/* Banner pretemporada *\/\r\n  .pre-season-banner {\r\n    background: #fff7ed; border-left: 4px solid #fb923c;\r\n    padding: 12px 20px; font-size: 13px; color: #92400e;\r\n    display: flex; align-items: center; gap: 8px; font-weight: 500;\r\n  }\r\n\r\n  .driver-row, .team-row {\r\n    display: grid; align-items: center;\r\n    padding: 12px 16px; border-bottom: 1px solid var(--gray-light);\r\n    transition: background 0.15s;\r\n  }\r\n  .driver-row { grid-template-columns: 36px 6px 28px 1fr auto; gap: 12px; }\r\n  .team-row   { grid-template-columns: 36px 6px 1fr auto; gap: 12px; }\r\n  .driver-row:last-child, .team-row:last-child { border-bottom: none; }\r\n  .driver-row:hover, .team-row:hover { background: var(--gray-bg); }\r\n\r\n  .pos {\r\n    font-family: 'Barlow Condensed', sans-serif; font-size: 18px; font-weight: 800;\r\n    color: var(--black); text-align: center; line-height: 1;\r\n  }\r\n  .pos.p1 { color: #c9a227; }\r\n  .pos.p2 { color: #8c8c8c; }\r\n  .pos.p3 { color: #a0522d; }\r\n\r\n  .team-bar { width: 4px; height: 36px; border-radius: 2px; flex-shrink: 0; }\r\n  .driver-info, .team-info { min-width: 0; }\r\n  .driver-name, .team-name {\r\n    font-family: 'Barlow Condensed', sans-serif; font-size: 17px; font-weight: 700;\r\n    color: var(--black); text-transform: uppercase; line-height: 1.1;\r\n    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;\r\n  }\r\n  .row-sub { font-size: 12px; color: var(--gray-mid); font-weight: 500; margin-top: 2px; }\r\n\r\n  .pts-block { text-align: right; flex-shrink: 0; min-width: 58px; }\r\n  .pts-val {\r\n    font-family: 'Barlow Condensed', sans-serif; font-size: 22px; font-weight: 800;\r\n    color: var(--black); line-height: 1;\r\n  }\r\n  .pts-label { font-size: 10px; color: var(--gray-mid); font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; }\r\n\r\n  .stand-footer {\r\n    padding: 14px 32px; font-size: 11px; color: var(--gray-mid);\r\n    text-align: center; border-top: 1px solid var(--gray-light);\r\n  }\r\n\r\n  @media (max-width: 600px) {\r\n    .stand-header { padding: 20px 16px; }\r\n    .stand-tabs { padding: 0 12px; }\r\n    .driver-row, .team-row { padding: 10px 16px; }\r\n    .driver-row { grid-template-columns: 28px 4px 22px 1fr auto; gap: 8px; }\r\n    .team-row   { grid-template-columns: 28px 4px 1fr auto; gap: 8px; }\r\n    .driver-name, .team-name { font-size: 15px; }\r\n    .pts-val { font-size: 18px; }\r\n    .stand-meta { display: none; }\r\n  }\r\n<\/style>\r\n<\/head>\r\n<body>\r\n\r\n<div class=\"stand-header\">\r\n  <div class=\"stand-header-icon\">\r\n    <svg viewBox=\"0 0 24 24\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg>\r\n  <\/div>\r\n  <div class=\"stand-header-text\">\r\n    <h1>Clasificaci\u00f3n F1 2026<\/h1>\r\n    <p>Mundial de Pilotos y Constructores \u00b7 Temporada oficial FIA<\/p>\r\n  <\/div>\r\n<\/div>\r\n\r\n<div class=\"stand-tabs\">\r\n  <button class=\"tab-btn active\" onclick=\"switchTab('drivers',this)\">\ud83c\udfce Pilotos<\/button>\r\n  <button class=\"tab-btn\" onclick=\"switchTab('teams',this)\">\ud83c\udfed Constructores<\/button>\r\n  <div class=\"stand-meta\" id=\"standMeta\"><\/div>\r\n<\/div>\r\n\r\n<div class=\"tab-content active\" id=\"tab-drivers\"><\/div>\r\n<div class=\"tab-content\" id=\"tab-teams\"><\/div>\r\n\r\n<div class=\"stand-footer\">\r\n  Actualizado manualmente tras cada Gran Premio \u00b7 <strong>autonoci\u00f3n.com<\/strong>\r\n<\/div>\r\n\r\n<script>\r\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n\/\/  ACTUALIZA SOLO ESTE BLOQUE TRAS CADA CARRERA\r\n\/\/  - racesCompleted: n\u00famero de carreras disputadas (0 = pretemporada)\r\n\/\/  - lastRace: nombre del \u00faltimo GP disputado\r\n\/\/  - drivers: puntos de cada piloto (clave = c\u00f3digo de 3 letras)\r\n\/\/  - teams: puntos de cada constructor (se calculan solos si lo dejas vac\u00edo)\r\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\nconst STANDINGS = {\r\n  racesCompleted: 0,\r\n  lastRace: '\u2014',\r\n  drivers: {\r\n    \/\/ Ejemplo tras Australia:\r\n    \/\/ NOR: 25, HAM: 18, LEC: 15, VER: 12, RUS: 10,\r\n    \/\/ PIA: 8, ALO: 6, SAI: 4, HAD: 2, ANT: 1,\r\n  },\r\n  teams: {\r\n    \/\/ Se calculan autom\u00e1ticamente sumando los pilotos.\r\n    \/\/ Solo rellena esto si quieres anular el c\u00e1lculo autom\u00e1tico.\r\n  }\r\n};\r\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n\r\nconst TEAMS = {\r\n  mclaren:     { name: 'McLaren',      engine: 'Mercedes',     color: '#FF8000', flag: '\ud83c\uddec\ud83c\udde7' },\r\n  ferrari:     { name: 'Ferrari',      engine: 'Ferrari',      color: '#E8002D', flag: '\ud83c\uddee\ud83c\uddf9' },\r\n  redbull:     { name: 'Red Bull',     engine: 'Red Bull-Ford', color: '#3671C6', flag: '\ud83c\udde6\ud83c\uddf9' },\r\n  mercedes:    { name: 'Mercedes',     engine: 'Mercedes',     color: '#00A19C', flag: '\ud83c\udde9\ud83c\uddea' },\r\n  aston:       { name: 'Aston Martin', engine: 'Honda',        color: '#229971', flag: '\ud83c\uddec\ud83c\udde7' },\r\n  alpine:      { name: 'Alpine',       engine: 'Mercedes',     color: '#0093CC', flag: '\ud83c\uddeb\ud83c\uddf7' },\r\n  williams:    { name: 'Williams',     engine: 'Mercedes',     color: '#64C4FF', flag: '\ud83c\uddec\ud83c\udde7' },\r\n  haas:        { name: 'Haas',         engine: 'Ferrari',      color: '#B6BABD', flag: '\ud83c\uddfa\ud83c\uddf8' },\r\n  racingbulls: { name: 'Racing Bulls', engine: 'Red Bull-Ford', color: '#6692FF', flag: '\ud83c\uddee\ud83c\uddf9' },\r\n  audi:        { name: 'Audi',         engine: 'Audi',         color: '#C9D3D8', flag: '\ud83c\udde9\ud83c\uddea' },\r\n  cadillac:    { name: 'Cadillac',     engine: 'Ferrari',      color: '#1B1B1B', flag: '\ud83c\uddfa\ud83c\uddf8' },\r\n};\r\n\r\nconst DRIVERS = [\r\n  { num: 1,  code: 'NOR', name: 'Lando Norris',      flag: '\ud83c\uddec\ud83c\udde7', team: 'mclaren'     },\r\n  { num: 81, code: 'PIA', name: 'Oscar Piastri',     flag: '\ud83c\udde6\ud83c\uddfa', team: 'mclaren'     },\r\n  { num: 16, code: 'LEC', name: 'Charles Leclerc',   flag: '\ud83c\uddf2\ud83c\udde8', team: 'ferrari'     },\r\n  { num: 44, code: 'HAM', name: 'Lewis Hamilton',    flag: '\ud83c\uddec\ud83c\udde7', team: 'ferrari'     },\r\n  { num: 3,  code: 'VER', name: 'Max Verstappen',    flag: '\ud83c\uddf3\ud83c\uddf1', team: 'redbull'     },\r\n  { num: 22, code: 'HAD', name: 'Isack Hadjar',      flag: '\ud83c\uddeb\ud83c\uddf7', team: 'redbull'     },\r\n  { num: 63, code: 'RUS', name: 'George Russell',    flag: '\ud83c\uddec\ud83c\udde7', team: 'mercedes'    },\r\n  { num: 12, code: 'ANT', name: 'Kimi Antonelli',    flag: '\ud83c\uddee\ud83c\uddf9', team: 'mercedes'    },\r\n  { num: 14, code: 'ALO', name: 'Fernando Alonso',   flag: '\ud83c\uddea\ud83c\uddf8', team: 'aston'       },\r\n  { num: 18, code: 'STR', name: 'Lance Stroll',      flag: '\ud83c\udde8\ud83c\udde6', team: 'aston'       },\r\n  { num: 10, code: 'GAS', name: 'Pierre Gasly',      flag: '\ud83c\uddeb\ud83c\uddf7', team: 'alpine'      },\r\n  { num: 43, code: 'COL', name: 'Franco Colapinto',  flag: '\ud83c\udde6\ud83c\uddf7', team: 'alpine'      },\r\n  { num: 55, code: 'SAI', name: 'Carlos Sainz',      flag: '\ud83c\uddea\ud83c\uddf8', team: 'williams'    },\r\n  { num: 23, code: 'ALB', name: 'Alexander Albon',   flag: '\ud83c\uddf9\ud83c\udded', team: 'williams'    },\r\n  { num: 31, code: 'OCO', name: 'Esteban Ocon',      flag: '\ud83c\uddeb\ud83c\uddf7', team: 'haas'        },\r\n  { num: 87, code: 'BEA', name: 'Oliver Bearman',    flag: '\ud83c\uddec\ud83c\udde7', team: 'haas'        },\r\n  { num: 30, code: 'LAW', name: 'Liam Lawson',       flag: '\ud83c\uddf3\ud83c\uddff', team: 'racingbulls' },\r\n  { num: 41, code: 'LIN', name: 'Arvid Lindblad',    flag: '\ud83c\uddec\ud83c\udde7', team: 'racingbulls' },\r\n  { num: 27, code: 'HUL', name: 'Nico H\u00fclkenberg',   flag: '\ud83c\udde9\ud83c\uddea', team: 'audi'        },\r\n  { num: 5,  code: 'BOR', name: 'Gabriel Bortoleto', flag: '\ud83c\udde7\ud83c\uddf7', team: 'audi'        },\r\n  { num: 11, code: 'PER', name: 'Sergio P\u00e9rez',      flag: '\ud83c\uddf2\ud83c\uddfd', team: 'cadillac'    },\r\n  { num: 77, code: 'BOT', name: 'Valtteri Bottas',   flag: '\ud83c\uddeb\ud83c\uddee', team: 'cadillac'    },\r\n];\r\n\r\nfunction posClass(i) { return ['p1','p2','p3'][i] || ''; }\r\n\r\nfunction renderMeta() {\r\n  const el = document.getElementById('standMeta');\r\n  if (STANDINGS.racesCompleted === 0) {\r\n    el.innerHTML = `<span>Pretemporada \u00b7 0 carreras<\/span>`;\r\n  } else {\r\n    el.innerHTML = `Tras <strong>${STANDINGS.racesCompleted}<\/strong> carrera${STANDINGS.racesCompleted > 1 ? 's' : ''} \u00b7 <strong>${STANDINGS.lastRace}<\/strong>`;\r\n  }\r\n}\r\n\r\nfunction banner() {\r\n  if (STANDINGS.racesCompleted > 0) return '';\r\n  return `<div class=\"pre-season-banner\">\r\n    \ud83c\udfc1 Pretemporada \u00b7 Todos los pilotos arrancan con 0 puntos \u00b7 Pr\u00f3xima carrera: \ud83c\udde6\ud83c\uddfa GP Australia, Dom 8 Mar\r\n  <\/div>`;\r\n}\r\n\r\nfunction renderDrivers() {\r\n  const sorted = [...DRIVERS]\r\n    .map(d => ({ ...d, pts: STANDINGS.drivers[d.code] || 0 }))\r\n    .sort((a, b) => b.pts - a.pts || a.num - b.num);\r\n\r\n  const rows = sorted.map((d, i) => {\r\n    const t = TEAMS[d.team];\r\n    return `<div class=\"driver-row\">\r\n      <span class=\"pos ${posClass(i)}\">${i + 1}<\/span>\r\n      <span class=\"team-bar\" style=\"background:${t.color}\"><\/span>\r\n      <span style=\"font-size:18px;line-height:1\">${d.flag}<\/span>\r\n      <span class=\"driver-info\">\r\n        <div class=\"driver-name\">${d.name}<\/div>\r\n        <div class=\"row-sub\">${t.name} \u00b7 #${d.num}<\/div>\r\n      <\/span>\r\n      <span class=\"pts-block\">\r\n        <div class=\"pts-val\">${d.pts}<\/div>\r\n        <div class=\"pts-label\">pts<\/div>\r\n      <\/span>\r\n    <\/div>`;\r\n  }).join('');\r\n\r\n  document.getElementById('tab-drivers').innerHTML = banner() + rows;\r\n}\r\n\r\nfunction renderTeams() {\r\n  \/\/ Calcular puntos por equipo sumando sus pilotos\r\n  const teamPts = {};\r\n  Object.keys(TEAMS).forEach(k => teamPts[k] = 0);\r\n\r\n  if (Object.keys(STANDINGS.teams).length > 0) {\r\n    Object.assign(teamPts, STANDINGS.teams);\r\n  } else {\r\n    DRIVERS.forEach(d => {\r\n      teamPts[d.team] = (teamPts[d.team] || 0) + (STANDINGS.drivers[d.code] || 0);\r\n    });\r\n  }\r\n\r\n  const sorted = Object.keys(TEAMS)\r\n    .map(k => ({ key: k, ...TEAMS[k], pts: teamPts[k] || 0 }))\r\n    .sort((a, b) => b.pts - a.pts);\r\n\r\n  const rows = sorted.map((t, i) => `\r\n    <div class=\"team-row\">\r\n      <span class=\"pos ${posClass(i)}\">${i + 1}<\/span>\r\n      <span class=\"team-bar\" style=\"background:${t.color}\"><\/span>\r\n      <span class=\"team-info\">\r\n        <div class=\"team-name\">${t.flag} ${t.name}<\/div>\r\n        <div class=\"row-sub\">Motor: ${t.engine}<\/div>\r\n      <\/span>\r\n      <span class=\"pts-block\">\r\n        <div class=\"pts-val\">${t.pts}<\/div>\r\n        <div class=\"pts-label\">pts<\/div>\r\n      <\/span>\r\n    <\/div>`).join('');\r\n\r\n  document.getElementById('tab-teams').innerHTML = banner() + rows;\r\n}\r\n\r\nfunction switchTab(tab, btn) {\r\n  document.querySelectorAll('.tab-btn').forEach(b => b.classList.remove('active'));\r\n  document.querySelectorAll('.tab-content').forEach(c => c.classList.remove('active'));\r\n  btn.classList.add('active');\r\n  document.getElementById('tab-' + tab).classList.add('active');\r\n}\r\n\r\nrenderMeta();\r\nrenderDrivers();\r\nrenderTeams();\r\n<\/script>\r\n<\/body>\r\n<\/html>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-5959","page","type-page","status-publish"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.autonocion.com\/motornocion\/wp-json\/wp\/v2\/pages\/5959","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.autonocion.com\/motornocion\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.autonocion.com\/motornocion\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.autonocion.com\/motornocion\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.autonocion.com\/motornocion\/wp-json\/wp\/v2\/comments?post=5959"}],"version-history":[{"count":1,"href":"https:\/\/www.autonocion.com\/motornocion\/wp-json\/wp\/v2\/pages\/5959\/revisions"}],"predecessor-version":[{"id":5961,"href":"https:\/\/www.autonocion.com\/motornocion\/wp-json\/wp\/v2\/pages\/5959\/revisions\/5961"}],"wp:attachment":[{"href":"https:\/\/www.autonocion.com\/motornocion\/wp-json\/wp\/v2\/media?parent=5959"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}