- var categories = ['alkali-metals','alkaline-earth-metals','lanthanoids','actinoids','transition-metals','post-transition-metals','metalloids','other-nonmetals','noble-gasses','unknown']
// ELEMENT MIXIN TEMPLATE
mixin element(number, symbol, name, mass, weight, material, column, row)
.element(class=material)(class='c'+column)(class='r'+row)
input.activate(type='radio', name='elements')
input.deactivate(type='radio', name='elements')
.overlay
.square
.model
each item in weight.reverse()
.orbital
- for (var i = 0; i < item; i++)
.electron
.atomic-number= number
.label
.symbol= symbol
.name= name
.atomic-mass= mass
ul.atomic-weight
each item in weight.reverse()
li= item
// PLACEHOLDER MIXIN TEMPLATE
mixin placeholder(number, material, column, row)
.placeholder(class=material)(class='c'+column)(class='r'+row)
.square= number
.wrapper
each item in categories
input.category-toggle(type='radio', id=item, name='categories')
input.category-cancel(type='radio', id='cancel' name='categories')
.periodic-table
+element(1, 'H', 'Hydrogen', 1.008, [1], 'other-nonmetal', 1, 1)
+element(2, 'He', 'Helium', 4.0026, [2], 'noble-gas', 18, 1)
+element(3, 'Li', 'Lithium', 6.94, [3], 'alkali-metal', 1, 2)
+element(4, 'Be', 'Beryllium', 9.0122, [2,2], 'alkaline-earth-metal', 2, 2)
+element(5, 'B', 'Boron', 10.81, [2,3], 'metalloid', 13, 2)
+element(6, 'C', 'Carbon', 12.011, [2,4], 'other-nonmetal', 14, 2)
+element(7, 'N', 'Nitrogen', 14.007, [2,5], 'other-nonmetal', 15, 2)
+element(8, 'O', 'Oxygen', 15.999, [2,6], 'other-nonmetal', 16, 2)
+element(9, 'F', 'Flourine', 18.998, [2,7], 'other-nonmetal', 17, 2)
+element(10, 'Ne', 'Neon', 20.180, [2,8], 'noble-gas', 18, 2)
+element(11, 'Na', 'Sodium', 22.990, [2,8,1], 'alkali-metal', 1, 3)
+element(12, 'Mg', 'Magnesium', 24.305, [2,8,2], 'alkaline-earth-metal', 2, 3)
+element(13, 'Al', 'Aluminium', 26.982, [2,8,3], 'post-transition-metal', 13, 3)
+element(14, 'Si', 'Silicon', 28.085, [2,8,4], 'metalloid', 14, 3)
+element(15, 'P', 'Phosphorus', 30.974, [2,8,5], 'other-nonmetal', 15, 3)
+element(16, 'S', 'Sulfur', 32.06, [2,8,6], 'other-nonmetal', 16, 3)
+element(17, 'Cl', 'Chlorine', 35.45, [2,8,7], 'other-nonmetal', 17, 3)
+element(18, 'Ar', 'Argon', 39.948, [2,8,8], 'noble-gas', 18, 3)
+element(19, 'K', 'Potassium', 39.098, [2,8,8,1], 'alkali-metal', 1, 4)
+element(20, 'Ca', 'Calcium', 40.078, [2,8,8,2], 'alkaline-earth-metal', 2, 4)
+element(21, 'Sc', 'Scandium', 44.956, [2,8,9,2], 'transition-metal', 3, 4)
+element(22, 'Ti', 'Titanium', 47.867, [2,8,10,2], 'transition-metal', 4, 4)
+element(23, 'V', 'Vanadium', 50.942, [2,8,11,2], 'transition-metal', 5, 4)
+element(24, 'Cr', 'Chromium', 51.996, [2,8,13,1], 'transition-metal', 6, 4)
+element(25, 'Mn', 'Manganese', 54.938, [2,8,13,2], 'transition-metal', 7, 4)
+element(26, 'Fe', 'Iron', 55.845, [2,8,14,2], 'transition-metal', 8, 4)
+element(27, 'Co', 'Cobalt', 58.933, [2,8,15,2], 'transition-metal', 9, 4)
+element(28, 'Ni', 'Nickel', 58.693, [2,8,16,2], 'transition-metal', 10, 4)
+element(29, 'Cu', 'Copper', 63.546, [2,8,18,1], 'transition-metal', 11, 4)
+element(30, 'Zn', 'Zinc', 65.38, [2,8,18,2], 'transition-metal', 12, 4)
+element(31, 'Ga', 'Gallium', 69.723, [2,8,18,3], 'post-transition-metal', 13, 4)
+element(32, 'Ge', 'Germanium', 72.630, [2,8,18,4], 'metalloid', 14, 4)
+element(33, 'As', 'Arsenic', 74.922, [2,8,18,5], 'metalloid', 15, 4)
+element(34, 'Se', 'Selenium', 78.971, [2,8,18,6], 'other-nonmetal', 16, 4)
+element(35, 'Br', 'Bromine', 79.904, [2,8,18,7], 'other-nonmetal', 17, 4)
+element(36, 'Kr', 'Krypton', 83.798, [2,8,18,8], 'noble-gas', 18, 4)
+element(37, 'Rb', 'Rubidium', 85.468, [2,8,18,8,1], 'alkali-metal', 1, 5)
+element(38, 'Sr', 'Strontium', 87.62, [2,8,18,8,2], 'alkaline-earth-metal', 2, 5)
+element(39, 'Y', 'Yttrium', 88.906, [2,8,18,9,2], 'transition-metal', 3, 5)
+element(40, 'Zr', 'Zirconium', 91.224, [2,8,18,10,2], 'transition-metal', 4, 5)
+element(41, 'Nb', 'Niobium', 92.906, [2,8,18,12,1], 'transition-metal', 5, 5)
+element(42, 'Mo', 'Molybdenum', 95.95, [2,8,18,13,1], 'transition-metal', 6, 5)
+element(43, 'Tc', 'Technetium', '(98)', [2,8,18,13,2], 'transition-metal', 7, 5)
+element(44, 'Ru', 'Ruthenium', 101.07, [2,8,18,15,1], 'transition-metal', 8, 5)
+element(45, 'Rh', 'Rhodium', 102.91, [2,8,18,16,1], 'transition-metal', 9, 5)
+element(46, 'Pd', 'Palladium', 106.42, [2,8,18,18], 'transition-metal', 10, 5)
+element(47, 'Ag', 'Silver', 107.87, [2,8,18,18,1], 'transition-metal', 11, 5)
+element(48, 'Cd', 'Cadmium', 112.41, [2,8,18,18,2], 'transition-metal', 12, 5)
+element(49, 'In', 'Indium', 114.82, [2,8,18,18,3], 'post-transition-metal', 13, 5)
+element(50, 'Sn', 'Tin', 204.38, [2,8,18,18,4], 'post-transition-metal', 14, 5)
+element(51, 'Sb', 'Antimony', 121.76, [2,8,18,18,5], 'metalloid', 15, 5)
+element(52, 'Te', 'Tellurium', 127.60, [2,8,18,18,6], 'metalloid', 16, 5)
+element(53, 'I', 'Iodine', 126.90, [2,8,18,18,7], 'other-nonmetal', 17, 5)
+element(54, 'Xe', 'Xenon', 131.29, [2,8,18,18,8], 'noble-gas', 18, 5)
+element(55, 'Cs', 'Caesium', 132.91, [2,8,18,18,8,1], 'alkali-metal', 1, 6)
+element(56, 'Ba', 'Barium', 137.33, [2,8,18,18,8,2], 'alkaline-earth-metal', 2, 6)
+element(57, 'La', 'Lanthanum', 138.91, [2,8,18,18,9,2], 'lanthanoid', 4, 9)
+element(58, 'Ce', 'Cerium', 140.12, [2,8,18,19,9,2], 'lanthanoid', 5, 9)
+element(59, 'Pr', 'Praseodymium', 140.91, [2,8,18,21,8,2], 'lanthanoid', 6, 9)
+element(60, 'Nd', 'Neodymium', 144.24, [2,8,18,22,8,2], 'lanthanoid', 7, 9)
+element(61, 'Pm', 'Promethium', 144.24, [2,8,18,23,8,2], 'lanthanoid', 8, 9)
+element(62, 'Sm', 'Samarium', 150.36, [2,8,18,24,8,2], 'lanthanoid', 9, 9)
+element(63, 'Eu', 'Europium', 151.96, [2,8,18,25,8,2], 'lanthanoid', 10, 9)
+element(64, 'Gd', 'Gadolinium', 157.25, [2,8,18,25,9,2], 'lanthanoid', 11, 9)
+element(65, 'Tb', 'Terbium', 158.93, [2,8,18,27,8,2], 'lanthanoid', 12, 9)
+element(66, 'Dy', 'Dysprosium', 162.50, [2,8,18,28,8,2], 'lanthanoid', 13, 9)
+element(67, 'Ho', 'Holmium', 164.93, [2,8,18,29,8,2], 'lanthanoid', 14, 9)
+element(68, 'Er', 'Erbium', 167.26, [2,8,18,30,8,2], 'lanthanoid', 15, 9)
+element(69, 'Tm', 'Thulium', 168.93, [2,8,18,31,8,2], 'lanthanoid', 16, 9)
+element(70, 'Yb', 'Ytterbium', 173.05, [2,8,18,32,8,2], 'lanthanoid', 17, 9)
+element(71, 'Lu', 'Lutetium', 174.97, [2,8,18,32,9,2], 'lanthanoid', 18, 9)
+element(72, 'Hf', 'Hafnium', 178.49, [2,8,18,32,10,2], 'transition-metal', 4, 6)
+element(73, 'Ta', 'Tantalum', 180.95, [2,8,18,32,11,2], 'transition-metal', 5, 6)
+element(74, 'W', 'Tungsten', 183.84, [2,8,18,32,12,2], 'transition-metal', 6, 6)
+element(75, 'Re', 'Rhenium', 186.21, [2,8,18,32,13,2], 'transition-metal', 7, 6)
+element(76, 'Os', 'Osmium', 190.23, [2,8,18,32,14,2], 'transition-metal', 8, 6)
+element(77, 'Ir', 'Iridium', 192.22, [2,8,18,32,15,2], 'transition-metal', 9, 6)
+element(78, 'Pt', 'Platinum', 195.08, [2,8,18,32,17,1], 'transition-metal', 10, 6)
+element(79, 'Au', 'Gold', 196.97, [2,8,18,32,18,1], 'transition-metal', 11, 6)
+element(80, 'Hg', 'Mercury', 200.59, [2,8,18,32,18,2], 'transition-metal', 12, 6)
+element(81, 'Tl', 'Thallium', 204.38, [2,8,18,32,18,3], 'post-transition-metal', 13, 6)
+element(82, 'Pb', 'Lead', 207.2, [2,8,18,32,18,4], 'post-transition-metal', 14, 6)
+element(83, 'Bi', 'Bismuth', 208.98, [2,8,18,32,18,5], 'post-transition-metal', 15, 6)
+element(84, 'Po', 'Polonium', '(209)', [2,8,18,32,18,6], 'post-transition-metal', 16, 6)
+element(85, 'At', 'Astatine', '(210)', [2,8,18,32,18,7], 'metalloid', 17, 6)
+element(86, 'Rn', 'Radon', '(222)', [2,8,18,32,18,8], 'noble-gas', 18, 6)
+element(87, 'Fr', 'Francium', '(223)', [2,8,18,32,18,8,1], 'alkali-metal', 1, 7)
+element(88, 'Ra', 'Radium', '(226)', [2,8,18,32,18,8,2], 'alkaline-earth-metal', 2, 7)
+element(89, 'Ac', 'Actinium', '(227)', [2,8,18,32,18,9,2], 'actinoid', 4, 10)
+element(90, 'Th', 'Thorium', 232.04, [2,8,18,32,18,10,2], 'actinoid', 5, 10)
+element(91, 'Pa', 'Protactinium', 231.04, [2,8,18,32,20,9,2], 'actinoid', 6, 10)
+element(92, 'U', 'Uranium', 238.03, [2,8,18,32,21,9,2], 'actinoid', 7, 10)
+element(93, 'Np', 'Neptunium', '(237)', [2,8,18,32,22,9,2], 'actinoid', 8, 10)
+element(94, 'Pu', 'Plutonium', '(244)', [2,8,18,32,24,8,2], 'actinoid', 9, 10)
+element(95, 'Am', 'Americium', '(243)', [2,8,18,32,25,8,2], 'actinoid', 10, 10)
+element(96, 'Cm', 'Curium', '(247)', [2,8,18,32,25,9,2], 'actinoid', 11, 10)
+element(97, 'Bk', 'Berkelium', '(247)', [2,8,18,32,27,8,2], 'actinoid', 12, 10)
+element(98, 'Cf', 'Californium', '(251)', [2,8,18,32,28,8,2], 'actinoid', 13, 10)
+element(99, 'Es', 'Einsteinium', '(252)', [2,8,18,32,29,8,2], 'actinoid', 14, 10)
+element(100, 'Fm', 'Fermium', '(257)', [2,8,18,32,30,8,2], 'actinoid', 15, 10)
+element(101, 'Md', 'Mendelevium', '(258)', [2,8,18,32,31,8,2], 'actinoid', 16, 10)
+element(102, 'No', 'Nobelium', '(259)', [2,8,18,32,32,8,2], 'actinoid', 17, 10)
+element(103, 'Lr', 'Lawrencium', '(266)', [2,8,18,32,32,8,3], 'actinoid', 18, 10)
+element(104, 'Rf', 'Rutherfordium', '(267)', [2,8,18,32,32,10,2], 'transition-metal', 4, 7)
+element(105, 'Db', 'Dubnium', '(268)', [2,8,18,32,32,11,2], 'transition-metal', 5, 7)
+element(106, 'Sg', 'Seaborgium', '(269)', [2,8,18,32,32,12,2], 'transition-metal', 6, 7)
+element(107, 'Bh', 'Bohrium', '(270)', [2,8,18,32,32,13,2], 'transition-metal', 7, 7)
+element(108, 'Hs', 'Hassium', '(277)', [2,8,18,32,32,14,2], 'transition-metal', 8, 7)
+element(109, 'Mt', 'Meitnerium', '(278)', [2,8,18,32,32,15,2], 'unknown', 9, 7)
+element(110, 'Ds', 'Darmstadtium', '(281)', [2,8,18,32,32,17,1], 'unknown', 10, 7)
+element(111, 'Rg', 'Roentgenium', '(282)', [2,8,18,32,32,17,2], 'unknown', 11, 7)
+element(112, 'Cn', 'Copernicium', '(282)', [2,8,18,32,32,18,2], 'transition-metal', 12, 7)
+element(113, 'Nh', 'Nihonium', '(286)', [2,8,18,32,32,18,3], 'unknown', 13, 7)
+element(114, 'Fl', 'Flerovium', '(289)', [2,8,18,32,32,18,4], 'post-transition-metal', 14, 7)
+element(115, 'Mc', 'Moscovium', '(290)', [2,8,18,32,32,18,5], 'unknown', 15, 7)
+element(116, 'Lv', 'Livermorium', '(293)', [2,8,18,32,32,18,6], 'unknown', 16, 7)
+element(117, 'Ts', 'Tennessine', '(294)', [2,8,18,32,32,18,7], 'unknown', 17, 7)
+element(118, 'Og', 'Oganesson', '(294)', [2,8,18,32,32,18,8], 'unknown', 18, 7)
+placeholder('57-71', 'lanthanoid', 3, 6)
+placeholder('89-103', 'actinoid', 3, 7)
.gap.c3.r8
.key
.row
label.alkali-metal(for='alkali-metals') Alkali Metals
label.alkaline-earth-metal(for='alkaline-earth-metals') Alkaline Earth Metals
label.lanthanoid(for='lanthanoids') Lanthanoids
label.actinoid(for='actinoids') Aktinoids
label.transition-metal(for='transition-metals') Transition Metals
label.post-transition-metal(for='post-transition-metals') Post-Transition Metals
label.metalloid(for='metalloids') Metalloids
label.other-nonmetal(for='other-nonmetals') Other Nonmetals
label.noble-gas(for='noble-gasses') Noble Gasses
label.unknown(for='unknown') Unknown
View Compiled
$bgColor: #101318
$gridGap: 5px
$alkaliMetalColor: #ecbe59
$alkalineEarthMetalColor: #dee955
$lanthanoidColor: #ec77a3
$actinoidColor: #c686cc
$transitionMetalColor: #fd8572
$postTransitionMetalColor: #4cddf3
$metalloidColor: #3aefb6
$otherNonmetalColor: #52ee61
$nobleGasColor: #759fff
$unknownColor: #cccccc
body
background: $bgColor
text-shadow: 0 0 0.4vw currentColor
.wrapper
position: relative
overflow: hidden
padding: 2%
> input
appearance: none
position: fixed
left: 0
top: 0
width: 100%
height: 100%
visibility: hidden
opacity: 0
pointer-events: none
.periodic-table
display: grid
grid-gap: $gridGap
grid-template-columns: repeat(18, 1fr)
// --------------------------------------
// ELEMENT
.element
position: relative
font-size: 0.5vw
padding-bottom: 100%
cursor: pointer
color: #fff
transition: 500ms
.overlay
position: fixed
z-index: 1
left: 0
right: 0
top: 0
bottom: 0
background-color: $bgColor
opacity: 0
pointer-events: none
transition: 500ms
.square
position: absolute
left: 0
top: 0
width: 100%
height: 100%
border: 2px solid
box-sizing: border-box
background: $bgColor
display: flex
flex-direction: column
justify-content: center
align-items: center
transition-property: transform, z-index, left, right, top, bottom
transition-duration: 100ms, 0ms, 200ms, 200ms, 200ms, 200ms
transition-delay: 0ms, 100ms, 0ms, 0ms, 0ms, 0ms
.atomic-number
position: absolute
left: 0
top: 0
padding: 2px
.label
text-align: center
transition: 200ms
.symbol
font-size: 1.7vw
.name
font-size: 0.7vw
.atomic-mass
position: absolute
left: 0
right: 0
bottom: 0
padding: 2px
text-align: center
.atomic-weight
position: absolute
right: 0
top: 0
list-style: none
margin: 0
padding: 2px
opacity: 0
transition: 200ms
text-align: right
.model
display: none
position: absolute
left: -500%
right: -500%
top: -500%
bottom: -500%
transform: scale(0.1)
.orbital
position: absolute
left: 0
right: 0
top: 0
bottom: 0
border: 5px solid
border-radius: 50%
opacity: 0.25
@for $i from 1 through 7
&:nth-child(#{$i})
margin: 10% + 5.5 * ($i - 1)
animation-duration: 40s - 6 * ($i - 1)
.electron
position: absolute
left: 0
right: 0
top: 0
bottom: 0
&::before
content: ""
position: absolute
left: calc(50% - 0.7vw)
top: -0.7vw
width: 1.4vw
height: 1.4vw
background-color: currentColor
border-radius: 50%
opacity: 0.75
@for $i from 1 through 32
@for $a from 1 through $i
&:nth-last-child(#{$i}):first-child ~ .electron:nth-child(#{$a})
transform: rotate((360deg/$i)*($a - 1))
input[type="radio"]
appearance: none
position: absolute
z-index: 2
left: 0
top: 0
width: 100%
height: 100%
opacity: 0
cursor: pointer
outline: none
&.activate
&:hover ~ .square
z-index: 2
transform: scale(1.35)
transition-delay: 0ms
outline: none
pointer-events: none
&:checked + input[type="radio"].deactivate
z-index: 3
pointer-events: all
&:checked ~ .overlay
opacity: 0.75
&:checked ~ .square
z-index: 3
transform: scale(3)
transition-duration: 500ms, 0ms, 200ms, 200ms, 200ms, 200ms
transition-delay: 0ms
outline: none
cursor: auto
.label
transition-duration: 500ms
transform: scale(0.75)
.atomic-weight
opacity: 1
transition: 500ms
.model
display: block
animation: fade-in
animation-duration: 1s
.orbital
animation-name: rotate
animation-timing-function: linear
animation-iteration-count: infinite
&.deactivate
position: fixed
display: block
z-index: 1
opacity: 0
pointer-events: none
&:checked ~ .square
z-index: 1
// --------------------------------------
// PLACEHOLDER
.placeholder
position: relative
z-index: -1
font-size: 1vw
padding-bottom: 100%
color: #fff
transition: 500ms
.square
position: absolute
left: 0
top: 0
width: 100%
height: 100%
border: 2px solid
box-sizing: border-box
display: flex
flex-direction: column
justify-content: center
align-items: center
opacity: 0.5
// --------------------------------------
// GAP
.gap
position: relative
padding-bottom: 100%
transition: 500ms
&::before
content: ""
position: absolute
left: 50%
top: 0
width: 50%
height: calc(200% + #{$gridGap} * 2 - 4px)
border-width: 0 0 2px 2px
border-style: solid
margin-left: -1px
color: #fff
opacity: 0.2
// --------------------------------------
// COLORS
.alkali-metal
color: $alkaliMetalColor
.alkaline-earth-metal
color: $alkalineEarthMetalColor
.lanthanoid
color: $lanthanoidColor
.actinoid
color: $actinoidColor
.transition-metal
color: $transitionMetalColor
.post-transition-metal
color: $postTransitionMetalColor
.metalloid
color: $metalloidColor
.other-nonmetal
color: $otherNonmetalColor
.noble-gas
color: $nobleGasColor
.unknown
color: $unknownColor
// --------------------------------------
// ROWS & COLUMNS
@for $i from 1 through 10
.r#{$i}
grid-row: $i
@for $i from 1 through 18
.c#{$i}
grid-column: $i
// --------------------------------------
// SHIFT EDGE ELEMENTS ON ZOOM
.r1 input[type="radio"].activate:checked ~ .square
top: 100%
.r10 input[type="radio"].activate:checked ~ .square
top: -100%
.c1 input[type="radio"].activate:checked ~ .square
left: 100%
.c18 input[type="radio"].activate:checked ~ .square
left: -100%
// --------------------------------------
// ANIMATIONS
@keyframes rotate
from
transform: rotate(0deg)
to
transform: rotate(360deg)
@keyframes fade-in
from
opacity: 0
to
opacity: 1
@keyframes noise
0%, 100%
background-position: 0 0
10%
background-position: -5% -10%
20%
background-position: -15% 5%
30%
background-position: 7% -25%
40%
background-position: 20% 25%
50%
background-position: -25% 10%
60%
background-position: 15% 5%
70%
background-position: 0% 15%
80%
background-position: 25% 35%
90%
background-position: -10% 10%
// --------------------------------------
// KEY
.key
position: relative
z-index: 1
grid-row: 1
grid-column-start: 3
grid-column-end: 17
font-size: 0.8vw
line-height: 1.5
display: flex
align-items: center
pointer-events: none
user-select: none
.row
position: relative
display: flex
width: 100%
justify-content: space-between
label
opacity: 0.85
cursor: pointer
transition: 120ms
pointer-events: all
&:hover
opacity: 1 !important
// --------------------------------------
// CATEGORY TOGGLES
#alkali-metals:checked ~ .periodic-table .element:not(.alkali-metal),
#alkaline-earth-metals:checked ~ .periodic-table .element:not(.alkaline-earth-metal),
#lanthanoids:checked ~ .periodic-table .element:not(.lanthanoid),
#actinoids:checked ~ .periodic-table .element:not(.actinoid),
#transition-metals:checked ~ .periodic-table .element:not(.transition-metal),
#post-transition-metals:checked ~ .periodic-table .element:not(.post-transition-metal),
#metalloids:checked ~ .periodic-table .element:not(.metalloid),
#other-nonmetals:checked ~ .periodic-table .element:not(.other-nonmetal),
#noble-gasses:checked ~ .periodic-table .element:not(.noble-gas),
#unknown:checked ~ .periodic-table .element:not(.unknown),
#alkali-metals:checked ~ .periodic-table .placeholder,
#alkaline-earth-metals:checked ~ .periodic-table .placeholder,
#lanthanoids:checked ~ .periodic-table .placeholder:not(.lanthanoid),
#actinoids:checked ~ .periodic-table .placeholder:not(.actinoid),
#transition-metals:checked ~ .periodic-table .placeholder,
#post-transition-metals:checked ~ .periodic-table .placeholder,
#metalloids:checked ~ .periodic-table .placeholder,
#other-nonmetals:checked ~ .periodic-table .placeholder,
#noble-gasses:checked ~ .periodic-table .placeholder,
#unknown:checked ~ .periodic-table .placeholder
opacity: 0.15
pointer-events: none
#alkali-metals:checked ~ .periodic-table .key label:not(.alkali-metal),
#alkaline-earth-metals:checked ~ .periodic-table .key label:not(.alkaline-earth-metal),
#lanthanoids:checked ~ .periodic-table .key label:not(.lanthanoid),
#actinoids:checked ~ .periodic-table .key label:not(.actinoid),
#transition-metals:checked ~ .periodic-table .key label:not(.transition-metal),
#post-transition-metals:checked ~ .periodic-table .key label:not(.post-transition-metal),
#metalloids:checked ~ .periodic-table .key label:not(.metalloid),
#other-nonmetals:checked ~ .periodic-table .key label:not(.other-nonmetal),
#noble-gasses:checked ~ .periodic-table .key label:not(.noble-gas),
#unknown:checked ~ .periodic-table .key label:not(.unknown)
opacity: 0.65
.category-toggle:not(#lanthanoids):not(#actinoids):checked ~ .periodic-table .gap
opacity: 0.5
.category-toggle:checked ~ .category-cancel
visibility: visible
pointer-events: all
cursor: pointer
View Compiled
// ¯\_(ツ)_/¯
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.