www.webdeveloper.com
Results 1 to 11 of 11

Thread: Using CSS to scale images

  1. #1
    Join Date
    Jan 2006
    Location
    South Africa
    Posts
    62

    Using CSS to scale images

    Hi, everyone,

    I'm wondering if it is possible at all to use CSS to increase or reduce the size (width/height) of an image to, say, 50% of its original. (Yes, I know that client-side resizing is not the way to do it and leads to bloated page load times and grotty-looking results, but that's not the point right now.)

    For example, if I have the following HTML code:

    HTML Code:
    <img src="mugshot.gif" width="100" height="200" border="0" alt="Foobar" />
    is there any CSS trickery possible to cause this image to be displayed at, say, 50% of its original size (i.e. 50x100) regardless of its size? I could fix the size in CSS, thereby overriding the original 100x200 size declaration (with such a conflict between HTML and CSS sometimes leading to unpredictable results, which is why I avoid that sort of thing) but that's not what I want; what I am looking for is to reduce all image sizes by a certain factor.

    I have tried the intuitive approach - the first thing that the unenlightened might think of, which is of course:
    HTML Code:
    img {
      width: 50%;
      height: 50%;
    }
    but of course that resizes the image to 50% of the PARENT size (e.g. the table, div or body in which the image lives).

    Suggestions, anyone?

    // FvW

  2. #2
    Join Date
    Nov 2010
    Posts
    13
    I don't know whether this is what you want, but I've solved it like this: put your image in div with exact width and height of your image and then you can scale img with css by setting &#37; I know, it's obvious solution, but it works!

  3. #3
    Join Date
    Dec 2005
    Posts
    2,984
    But of course then you'd have to know the exact width and height of every image and if you knew that then you wouldn't have to use the extra div.....

    What the OP is talking about is not directly possible with CSS alone, but easily accomplished with Javascript - e.g. find all images with a certain selector, scale those images using Javascript.
    I've switched careers...
    I'm NO LONGER a scientist,
    but now a web developer...
    awesome.

  4. #4
    Join Date
    Nov 2010
    Posts
    7
    Yes, you definitely can use CSS.

    The trick is to only specify ONE dimension, and then it will scale proportionally. As for getting it to a percentage... EMaks is correct, you need a value to scale from, and CSS defaults to using the container. Therefore set (at least) one dimension, and then use the CSS trick to scale that ONE dimension, and the other should scale up.... Of course, if your container has a limit on the other dimension such as height or max-height, you may run into Overflow issues...

    Dekker (Why Not Fix It?)

  5. #5
    Join Date
    Jan 2006
    Location
    South Africa
    Posts
    62
    Thanks for the responses, everyone!

    So. The long and the short of it is that there is neither an easy nor a good way to do this using CSS alone. Okay - so as ideas go this one was a dead end. If it can be made to work at all, it will require horrid levels of kludgy-ness. Oh well... At least I won't waste any more time on tinkering with it, then.

    Thanks for sorting me out, guys!

    // FvW

  6. #6
    Join Date
    Mar 2010
    Location
    Singapore
    Posts
    367
    In software development not only pertaining to Web applications, we need to use a multitude of technologies to deliver the goods. It is quite impossible to find one language/technology to fulfill all requirements.

    It seems for your case it will be worth your while to learn JavaScript on top of CSS and HTML.

    Later on, you will need a server side Web language too.

  7. #7
    Join Date
    Jun 2013
    Posts
    37
    Ha, I hardy use CSS to increase or reduce the size (width/height) of an image to, say, 50% of its original, because I think image scaling is one of the simplest image processing function, it can be quickly finished by using simple vb.net language.

  8. #8
    Join Date
    Jan 2014
    Location
    Boston, Massachusetts
    Posts
    66
    width: 50%;
    height: auto;

  9. #9
    Join Date
    Mar 2011
    Posts
    1,141
    aj_nsc's suggestion to use JavaScript isn't a kludge, and it's the only client-side solution that would do what you want. But this is a task that would be best done on the server. Not only would you tend to get better quality images as a result, but it will be much faster since you would end up with "smaller" images. If you're at all familiar with programming, you could easily modify a thumbnail script to simply scale to 50% of the original.
    Rick Trethewey
    Rainbo Design

  10. #10
    Join Date
    Mar 2014
    Posts
    24
    How we can use the css for scale images?

  11. #11
    Join Date
    Mar 2014
    Posts
    40
    Just set css like that :

    img {
    width: 100%;
    height: auto;
    }

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center



Recent Articles