Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: AspectRat.io – Aspect ratio calculator and device resolutions resource (aspectrat.io)
35 points by ryanhefner on Nov 17, 2017 | hide | past | favorite | 33 comments

Hey, good job.

I tend to look up aspect ratios frequently.

You went full on with a nice web page and domain name hack.

Add more devices (e.g. ipads etc.), video res (vga,etc.) and more mathematical constants like golden ratio, silver ratio , etc. and add an easy landscape/portrait toggle switch.

> Add more devices (e.g. ipads etc.), video res (vga,etc.) and more mathematical constants like golden ratio, silver ratio , etc. and add an easy landscape/portrait toggle switch.

I'd like to add: a specs dialog, maybe? Add DPI/HDPI info, recommended DPI for images, etc. Would make this a for-sure go-to.

Nice work!

Thanks! Yeah, definitely going to be adding more devices and common resolutions.

The site has a bit of Webkit-only CSS. Tip: don't use bleeding edge CSS like appearance, and if you do, at least test it in Chrome, Edge, and Firefox.

You can fix the broken CSS for Firefox by adding -moz-appearance in addition to -webkit-appearance.


Whoops, just pushed up a fix. Just threw this together and didn't test it like I should have. Should be good now.

Not sure why make a whole website of this

    w := 1900
    h := 1200
    divisor := gcd(w, h)
    aspect := fmt.Sprintf("%d:%d", w/divisor, h/divisor)

    func gcd(x, y int64) int64 {
        for y != 0 {
            x, y = y, x%y
        return x

Because my non-programmer friend can use a website, but not write a program.

This. I work in media. Just passed this along to a few designer friends, and even non-designers who work with magazine design teams and regularly have to translate images and resize/crop them for mobile and web.

edit: They're already happy to have it in their back pocket.


Worth mentioning that the page makes it explicit that it uses this library: https://github.com/ryanhefner/calculate-aspect-ratio/blob/ma...

Yeah, this is really more of a reference and a tool when you’re comparing sizes and confirming they are the same aspect ratio without having to use code. There’s also an NPM module that will do the code part if you need to go that route.

He/she/it hasn't heard of 1920x1200 :) All those devices are 16:9 i think?

Yeah, I need to beef up the devices/resolutions listing. What device(s) have 1920x1200?

The maximum scaling option in macOS for 15" retina MacBook Pro's (all 15" retina models since 2012) is 1920x1200. So it's probably used quite a lot.


Select 15" and scroll to Display section.

Might be nifty to just match the list of devices in Chrome Inspector ..?

I just looked at Responsive Design Mode in Firefox Developer Tools and they also have a list of 16 devices with resolutions (Chrome has 29). There is a lot of overlap in the two lists, but using those would tie into a common tool we use to view sites on different devices.

My monitor, for example. Or do you only design for phones? I'm afraid I'll close your sites sight unseen if you do them that way.

My 2008 Dell Studio 15 laptop :)

I'll be sure to add that as I expand the listing of devices/resolutions.

Also, I thinking that it could be handy to maybe default to the resolution/aspect ratio of the device visiting the page. Would that be handy?

Yeah, I like this idea. It's kind of what I was expecting before I visited the page.

Have an upvote.

The limit on ridiculous things people will somehow make into a "web service" knows no bounds.

Thanks. Yeah, not really a "web service", just a reference tool, along with an NPM module you can use.

Also, I’ll be extending the device/resolutions listing, so hopefully it can be a handy reference for designers/developers.

The upvote was for `sd8dgf8ds8g8dsg`

> just a reference tool, along with an NPM module you can use.

Why does ~6 lines of basic logic need an NPM module?

Yeah, probably doesn't. I just found myself using it across a couple different projects and seemed like it would be easier than having to copy and paste it everywhere.

Also, it has a command line tool that you can use to get the aspect ratio from width/height. So, not just the code.

What’s the use case for the CSS code? The `padding-top` value doesn’t account for the OS and browser’s chrome (status bar, URL bar, etc.), so the `.inner` element doesn’t fit into the viewport.

For responsive embeds I assume. Where the embedded ".inner" component scales it's height according to it's width.

Yeah, that was the intention. Good to use for placeholder styling until the image/video has loaded. And for things like responsive embeds/iframes.

Maybe add an "about" or "how do I use it?" button with a panel, or a second page in case anybody is confused?

But why are the aspect ratios based on popular smartphone screens? Notice how on the website, you select a smartphone model, and then the button on the right shows CSS code for creating an aspect ratio that matches that smartphone’s screen. What’s the use case of having an element whose aspect ratio mimics that of popular smartphone screens?

If you happen to have a product video in your site that has been formatted for a specific phone, you can make sure the container of the video is set as the same aspect ratio of the phone.

I also see the CSS as an add-on, the devices for me are more for reference, but I have used the CSS here and there for some of the Apple phones.

Applications are open for YC Winter 2021

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact