| ▲ | Fizz Buzz in CSS(susam.net) | ||||||||||||||||
| 52 points by froober 4 hours ago | 12 comments | |||||||||||||||||
| ▲ | Metaboat 22 minutes ago | parent | next [-] | ||||||||||||||||
104 :nth-child(3n){list-style:"Fizz"}:nth-child(5n){list-style:"Buzz"}:nth-child(15n){list-style:"FizzBuzz"} data:text/html,<style>:nth-child(3n){list-style:"Fizz"}:nth-child(5n){list-style:"Buzz"}:nth-child(15n){list-style:"FizzBuzz"}</style><ol id=o><script>o.innerHTML='<li>'.repeat(99)</script> | |||||||||||||||||
| ▲ | graiz an hour ago | parent | prev | next [-] | ||||||||||||||||
145 using P instead of li. <style> p{counter-increment:n} p:not(:nth-child(5n)):before{content:counter(n)} p:nth-child(3n):before{content:"Fizz"} p:nth-child(5n):after{content:"Buzz"} </style><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p> | |||||||||||||||||
| |||||||||||||||||
| ▲ | susam 3 hours ago | parent | prev | next [-] | ||||||||||||||||
A shorter solution is possible with an ordered list (<ol>) if we're willing to ignore the untidy output:
Example: https://susam.net/code/web/css-fizz-buzz-ol.html
But I don't quite like how misaligned the numbers and the words look in this version. Correcting that would call for extra code that would cancel out the characters saved. | |||||||||||||||||
| |||||||||||||||||
| ▲ | dsmmcken 34 minutes ago | parent | prev | next [-] | ||||||||||||||||
144, using css variables, with fallback and p instead of li https://codepen.io/dsmmcken/pen/WbwYOEQ?editors=0100 p{counter-increment:n;--n:counter(n)}p:nth-child(3n){--f:"Fizz"}p:nth-child(5n){--b:"Buzz";--n:''}p::after{content:var(--f,var(--n))var(--b,'')} | |||||||||||||||||
| ▲ | genezeta 25 minutes ago | parent | prev | next [-] | ||||||||||||||||
To nitpick a bit, I'd say there is something that is "placed outside the stylesheet". Now, arguably it's not a "number or word that appears in the output", that's true, but it is a part of the logic of FizzBuzz. It's the fact that there are 100 and exactly 100 <li> elements in the HTML part. I mean, it wouldn't be a correct FizzBuzz without precisely that HTML. Having exactly 100 <li> elements is implementing the part of the logic that a. loops, and b. stops at 100. But of course this is just nitpicking, as I said ;) | |||||||||||||||||
| |||||||||||||||||
| ▲ | kevinsync 3 hours ago | parent | prev | next [-] | ||||||||||||||||
I love this, it's a very clever and funny way to solve the problem. Makes me think about how there are infinite routes from A to B, some more scenic and whimsical than others.. as well as all the people I've met along the way who would be so pissed and pedantic about how this isn't a "real solution" LOL | |||||||||||||||||
| |||||||||||||||||
| ▲ | carl_dr 3 hours ago | parent | prev [-] | ||||||||||||||||
Ignoring the size of the HTML in addition to the CSS, it’s fun, but not really fair when talking about code golf. Beyond a few numbers, you need to include some JavaScript and generating a million list elements. But those bytes count … | |||||||||||||||||