This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
Created attachment 1492 [details] 9-slice graphic element contraints The 9-slice scaling grid has been around in desktop graphics software for some years already and is well known to users of Flash and Illustrator. It's a brilliant technique for scaling images by dividing them into sections that have a fixed size (the corners) and sections that are flexible (the edges and the center). In fact this method is so powerful that 9-slice elements are standard classes in most development platforms (Android, Flash, Flex, etc). A similar technique (9-tiles or 9-grid) is used in HTML pages and native 9 sliced images are exported by graphic software like Photoshop. The only platform missing 9-slice elements is the SVG one. This means that to create a 9-slice svg element we currently need to use convoluted techniques that are quite complicated to implement, like this popular one devised by Dirk Weber: http://w3.eleqtriq.com/2014/03/the-holy-grail-of-image-scaling/ Because of this you cannot even make a resizeable button (a very common web page element) with SVG without resorting to tricks. To solve this problem affecting all web designers I propose to add a "9-slice element" in the next version of the SVG specifications. It will be a special group element, with some simple transformation constraints applied to any 9 elements composing the group. Thank you.
CSS has border-image which allows 9-sliced images that can also be used together with SVG images. Especially for your use case of scalable buttons this seems to be the ideal solution: http://www.w3.org/TR/css3-background/#border-images
There's also CSS flexbox: https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Flexible_boxes or http://dev.w3.org/csswg/css-flexbox/ which may already meet your needs and which is pretty much cross browser these days.