UNPKG

auto-resize-custom-select

Version:

Auto resize drop-down select elements to match the width of the selected option and customize it with CSS

240 lines (211 loc) 5.34 kB
html, body, h1, h2, h3, ul, li, pre, details { margin: 0; padding: 0; } html { line-height: 1; text-size-adjust: 100%; box-sizing: border-box; font-size: 62.5%; } body { font-size: 1.4rem; font-family: sans-serif; line-height: 1.4; max-width: 96rem; margin: 2rem auto; padding: 0 2rem; background: #eee; } *, *:before, *:after { box-sizing: inherit; background-repeat: no-repeat; } header, footer { color: #333; text-shadow: 0 1px 0 rgba(255, 255, 255, .8); a { color: #09c; text-decoration: none; } a:hover { color: #000; text-decoration: underline; } } header { h2 { margin: 0 0 1rem; font-weight: 500; } } footer { ul ul { padding: .5rem 0 1rem 1rem; } ul li { list-style: none; } ul li ul li { list-style: square inside; } } main { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: stretch; > section { flex: 0 0 auto; border: dashed #999 1px; border-radius: 3px; padding: 2rem; width: calc(50% - 1rem); margin-bottom: 2rem; > div { min-height: 4rem; margin: 0 0 1rem 0; } > pre { display: block; > code { height: 100%; border-radius: 4px; padding: 2rem; font-size: 1.2em; } .hljs { padding: 1em; } } &.no-code { > div{ min-height: auto; margin: 0; } > pre { display: none; } } } } @media screen and (max-width: 620px) { main > section { width: 100%; } } // --- .beau-selecteur { border: solid #333 1px; border-radius: 3px; padding: .5rem 1rem; } // --- .win95 { background: #fff; border-top: solid #868b8f 2px; border-left: solid #868b8f 2px; border-bottom: solid #daddde 2px; border-right: solid #daddde 2px; box-shadow: inset 2px 2px 0 0 #000002, inset -2px -2px 0 0 #c3c4c6; padding: 2px; .selection { padding: 2px 8px; font-family: sans-serif; text-decoration: none; } .arrow { padding: 2px 8px; background: #c2c7cb; border-top: solid #c8c9cb 2px; border-left: solid #c8c9cb 2px; border-bottom: solid #000002 2px; border-right: solid #000002 2px; box-shadow: inset 2px 2px 0 0 #fcffff, inset -2px -2px 0 0 #868a8e; &:after { content: '▾'; } } } // --- .xp { background: #fff; border: solid #859bb5 1px; padding: 1px; .selection { color: #4c5e88; font-family: sans-serif; text-decoration: none; padding: 0 20px 0 8px; } .arrow { background-image: linear-gradient(135deg, #d5e2fd, #b3c9f9); border-radius: 2px; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .1); &:after { content: ''; display: block; width: 19px; height: 27px; margin: 0 0 0 2px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 40'%3E %3Cpath fill='none' stroke='%234c5e88' stroke-linecap='square' stroke-width='10' d='M10 10l20 20 20-20'/%3E %3C/svg%3E"); background-repeat: no-repeat; background-position: center; background-size: 12px auto; } } } // --- .aero { background-color: #eee; background-image: linear-gradient(to bottom, #f1f1f1 0, #ececec 50%, #dedede 51%, #cfcfcf 100%); border: solid #707070 1px; border-radius: 4px; box-shadow: inset 0 0 0 1px #fff; padding: 4px 6px; color: #090000; text-shadow: 0 1px 1px rgba(255, 255, 255, .5); .selection { font-family: sans-serif; text-decoration: none; padding: 0 10px 0 0; } } // --- .metro { border: solid #797979 2px; padding: 8px 8px 8px 10px; .selection { font-family: sans-serif; text-decoration: none; padding: 0 16px 0 0; color: #555; } .arrow:after { content: ''; display: block; width: 16px; height: 16px; margin: 0 0 0 2px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 40'%3E %3Cpath fill='none' stroke='%23797979' stroke-linecap='square' stroke-width='10' d='M10 10l20 20 20-20'/%3E %3C/svg%3E"); background-repeat: no-repeat; background-position: center; background-size: 15px auto; } } // --- .aqua { background: #fff; border: solid #6a96d5 2px; border-radius: 5px; overflow: hidden; box-shadow: 0 0 10px -2px #6a96d5; .selection { font-family: sans-serif; font-weight: 700; text-decoration: none; color: #5d5f6b; padding: 4px 10px; } .arrow { background-image: linear-gradient(180deg, #c0d7f1 0, #96beee 50%, #c2ecfd 100%); border-left: solid #7fa9df 1px; padding: 4px 8px; &:after { color: #626262; content: '▾'; } } }