Demystifyingish SVG paths | HTTP 203

  Рет қаралды 20,816

Chrome for Developers

Chrome for Developers

2 жыл бұрын

Cassie Evans (from Greensock) chats to Jake about SVG paths, and what that mess of letters and numbers actually means.
The logo turtle demo → goo.gle/3IyzSXT
More videos in the HTTP 203 series → goo.gle/HTTP203
Subscribe to Google Chrome Developers here → goo.gle/ChromeDevs
Also, if you enjoyed this, you might like the HTTP203 podcast → goo.gle/HTTP203Podcast
#HTTP203 #ChromeDeveloper #WebDev

Пікірлер: 63
@sheriffderek
@sheriffderek 2 жыл бұрын
You two are too fun. Its refreshing to see people laughing out loud and enjoying programming. Some people don't know how fun it can be. I also need one of those shirts in my bag in case I get weird at parties.
@androidgott
@androidgott 2 жыл бұрын
It's a full moon! :) Please don't change your format! It is natural interaction with a bit of tutorial flow. Some of these small bits of information have helped me in the past and even a bit today! Thank you and highlighting the main takeaways would help.
@gingerchris
@gingerchris 2 жыл бұрын
Awesome video, entertaining, informative, I felt like I was having fun AND learning at the same time. SVGS FOR ALL
@lexer_
@lexer_ 2 жыл бұрын
I can learn much more easily from a natural conversation than just a tutorial which is what I love this series for. And the editing already cuts down the episodes to an acceptable length too.
@pooya5286
@pooya5286 2 жыл бұрын
I just love the turtle example
@alexfrozen
@alexfrozen 4 ай бұрын
Thank you! I did enjoy with both of you. So friendly. It feels like little friendly gossips about common friend named Svg Path and talking about how great friend he is. Some little stories from past like "once we were in the park and he found little squirell..." Thank you for this friendly mood!
@dansoper
@dansoper 2 жыл бұрын
A really good episode.
@thomasersosi4595
@thomasersosi4595 2 жыл бұрын
These parts are fairly simple and straightforward. It's the arcs that always get me. And (afaik) you can't draw a full circle with a single command. A few more things to mention: - If you repeat the same command multiple times, you can just write out the coordinates, you don't need to repeat the letter: "M 10,10 L 30,30 L 30,50, L 50,50, L 50,30" can also be written as "M 10,10 L 30,30, 30,50, 50,50, 50,30" - Except for M. "M 10,10, 30,30" becomes "M 10,10 L 30,30" because another (implicit) M(oveTo) would make no sense here. - If you don't start with a M there's an implied "M0,0". - z/Z means close path aka L(ineTo) start point. - you can write multiple paths in one like d="M10,0, 0,0, 0,10, 10,10 M 20,0, 30,0, 30,10, 20,10z" - You can compact the numbers down to something like "0,3.5.75-4" which is read as "0, 3.5, (0).75, -4"
@jakearchibald
@jakearchibald 2 жыл бұрын
Some good tips here, thanks! I just wrote some code that generates an SVG path from a series of points, and the "repeated command" thing simplifies it.
@NicholasShanks
@NicholasShanks 2 жыл бұрын
* Lea Verou's website has a handy script for converting back and forth between relative and absolute. * Changing a path winding to be anticlockwise inside a clockwise winding creates a hole, so instead of e.g. two layered circles you can create a torus. * SVGs elements embedded inside HTML are not natively empty. You have to supply a closing tag (like script tags with a src). * Consecutive path elements with identical attributes can be combined just by concatenating their "d" attributes. * External SVG files should have an XML declaration but embedded SVGs (both as elements and as base64-encoded data URIs) don't need this.
@UliTroyo
@UliTroyo 2 жыл бұрын
My bread and butter! I hand-write SVGs all the time-the smugness doesn't last because you wind up doing stupid things like: one time I caught myself 15 minutes into hand-coding a complicated path that would've taken me 2 minutes on Affinity Designer, just because I didn't want to wait 5 seconds for the app to open.
@TheRealCAPerry
@TheRealCAPerry 2 жыл бұрын
Awesome work you two, that was fun. Oh that all code would taught like this.
@alystair
@alystair 2 жыл бұрын
Tons of knowledge and lovely socks to boot, albeit you'll have to wear green ones as a shout back to this episode next time ;) Will definitely use line breaks when explaining my own SVGs moving forward!
@dailymeow3283
@dailymeow3283 2 жыл бұрын
For the first time i really understand svgs
@cassieevans7929
@cassieevans7929 2 жыл бұрын
This is great to hear!
@urbaniv
@urbaniv 2 жыл бұрын
Awesome, really really great. That was the best SVG explanation ever thank you!
@Dygear
@Dygear 2 жыл бұрын
This was an excellent episode, I learned so much!
@BrettCooper4702
@BrettCooper4702 2 жыл бұрын
x1 x2 always gives me the panic as I expect it to be x0 and x1 (as well as the y's)
@DennisJ42
@DennisJ42 2 жыл бұрын
HTTP 203 where we come to have a nice time, chat, have a coffee, learn something, and check on Jake's socks. The real question is, what version are they? SOCKS5?
@murtuzaalisurti
@murtuzaalisurti 2 жыл бұрын
This video is far better than any other svg learning resources.
@rowolta
@rowolta 2 жыл бұрын
Nice. Thanks for sharing.
@jonathan-._.-
@jonathan-._.- 2 жыл бұрын
to just slightly brag: i manually edited an svg without looking up or knowing beforehand how svgs work ^^
@anastasiiasolop6653
@anastasiiasolop6653 2 жыл бұрын
Wow, I had no idea that svg paths could be read, I. always looked at it as some hodge-podge) Thanks a lot!
@JacobCanote
@JacobCanote 2 жыл бұрын
Mind blown. The hint on the first relative point is brilliant! LOVE SVG!
@someone9493
@someone9493 2 жыл бұрын
Finally, svg paths make sense now... Thank you guys!
@tomasvidal424
@tomasvidal424 2 жыл бұрын
I loved it! Super informative! Thanks!
@antonchinaev3495
@antonchinaev3495 2 жыл бұрын
I also love svg for making symbol dictionaries, but there is little tooling to help with that. I end up doing a lot of hand conversions. Although, the last version of Inkscape has a feature to export to simplified format which helps a lot.
@jakearchibald
@jakearchibald 2 жыл бұрын
I often think of Inkscape as the only true SVG editor, as its internal format is fully SVG-compatible
@fabiocroldan
@fabiocroldan 2 жыл бұрын
I googled it: Who invented Bézier curves? Pierre Bezier The Bezier curve was a concept developed by Pierre Bezier in the 1970's while working for Renault. The Bezier curve is a parametric curve which is defined by a minimum of three points consisting of an origin, endpoint and at least one control point.
@vitabramov89
@vitabramov89 2 жыл бұрын
Wonderful episode! Entertaining and very helpful! I've definitely learned how to understand this weird code :) Also i've coded this little turtle at school! This was fun and challenging, we had an competition where competitors should draw a picture within given amount of time. I draw a country house with a fence and a tree :D, all coloured!
@nir8924
@nir8924 2 жыл бұрын
10:10 looks like it's the marriage between LOGO and Assembler 😅
@mc-ty4br
@mc-ty4br 2 жыл бұрын
That was great! Thank you. really.
@matosvolny8327
@matosvolny8327 2 жыл бұрын
I like turtles and SVG... This video has both! :)
@LeeSmith-cf1vo
@LeeSmith-cf1vo 2 жыл бұрын
I didn't know about the S command, that looks really useful! One thing I wish svg had that I've never found an easy way to do would be more like the actual turtle that I remember from _junior_ school - where you can define an angle and a length, rather than a target location. Would be so much easier than doing trig all the time... Oh, and I only ever do my SVGs by hand. I find that inkscape adds so much unnecassary bloat while simultaneously being very hard to read.
@marcellerusu3773
@marcellerusu3773 2 жыл бұрын
This is amazing
@NicholasShanks
@NicholasShanks 2 жыл бұрын
I hand-code SVGs all the time. Have done many hundreds I would estimate.
@haidubogdan8712
@haidubogdan8712 2 жыл бұрын
Hi l really like how you tackle every day web problems :) ... I'm quite interested in one html element which seemed to have remained un-improved for a long time (being hard to customize) : the "select box".
@Mishra_kum
@Mishra_kum 2 жыл бұрын
Wow, interesting!
@whycouldntthebicyclestandup
@whycouldntthebicyclestandup 2 жыл бұрын
Regarding the relative/absolute command thing, couldn't changing or animating the viewBox parameter work for translating the path around?
@amstevenson
@amstevenson 2 жыл бұрын
Very cool and informative! However, I have to ask-and perhaps I lack imagination here-what is the real world use-case for understanding and manipulating SVG coordinates manually that design or developer tools couldn’t do better, more easily, and more efficiently? I’m honestly not sure the value of SVG coordinates being human-readable at all, except maybe to make it easier to tweak an already existing animation/drawing. (Not trying to diminish this episode btw. This is one of the most informative and interesting episodes I’ve seen in this series!)
@jakearchibald
@jakearchibald 2 жыл бұрын
Having clean, human-understandable SVG is particularly important if you want to script it. Eg, the animation here kzbin.info/www/bejne/bnfYkpmsf7F3pq8 - that would have been a lot harder with generated SVG.
@IceMetalPunk
@IceMetalPunk 2 жыл бұрын
Cassie's shirt fits perfectly with the first 36 seconds of this video 😂 Also, she had drawing robots *at her preschool?* Someone grew up in a rich neighborhood 😂
@jakearchibald
@jakearchibald 2 жыл бұрын
I should have asked about the school dinners. Foie gras in a ribena jus, I bet.
@cassieevans7929
@cassieevans7929 2 жыл бұрын
Yeah - the shirt is definitely a disclaimer.
@cassieevans7929
@cassieevans7929 2 жыл бұрын
@@jakearchibald Sadly just lumpy custard and soggy chips like everyone else.
@jakearchibald
@jakearchibald 2 жыл бұрын
@@cassieevans7929 Soggy chips?? Oh what I'd have given to have soggy chips, that would have been a treat etc etc
@NicholasShanks
@NicholasShanks 2 жыл бұрын
@@cassieevans7929 Where was your infant school?
@GetMeCoding
@GetMeCoding 2 жыл бұрын
The secret is the socks!! Awesome!!!
@vhoyer
@vhoyer 2 жыл бұрын
I like Cassie!
@vhoyer
@vhoyer 2 жыл бұрын
I could search this, but whatheck, what happens (or can you even) if you use the shorthand for horizontal line and vertical line but absolute versions of them? Do they fallback to relative, do they only get the relative from the missing information? Do they assume 0?
@jakearchibald
@jakearchibald 2 жыл бұрын
If you do "H30" then it'll draw the line to x:30 and whatever the y was previously
@vhoyer
@vhoyer 2 жыл бұрын
@@jakearchibald oh, nice, thanks man, u r such an MVP :)
@Nerwesta
@Nerwesta 2 жыл бұрын
Pierre Bézier, the name should be a hint I guess ( well he could be Canadian, or Belgian, or Swiss ... 😌)
@chinmayk8004
@chinmayk8004 2 жыл бұрын
Please replace those heinous orange circle lights which Surma labelled as WiFi setup
@black-snow
@black-snow 2 жыл бұрын
Golden avocado lamps
@davidmaxwaterman
@davidmaxwaterman 2 жыл бұрын
Is there an svg-prettier?
@avilde
@avilde 2 жыл бұрын
Fancy infant school )) Sometimes Safari doesn't understand SVG elements with line brakes, e.g. color matrix on filter.
@mmahgoub
@mmahgoub 2 жыл бұрын
Is it me or a lot of people are talking about bezier curves these days
@whatthefunction9140
@whatthefunction9140 Жыл бұрын
Are these two brother sister?
@MarcelRobitaille
@MarcelRobitaille 2 жыл бұрын
Nice socks
@PhantomHarlock78
@PhantomHarlock78 2 жыл бұрын
Thumbs up if the logo you are working has a lot of clipping mask and gradient.
@LorenzDominique
@LorenzDominique 2 жыл бұрын
I really want to watch these to be informed but the banter is so distracting and takes away from the actual value. 😭😭😭
DOM ready events considered harmful | HTTP 203
22:09
Chrome for Developers
Рет қаралды 26 М.
Cross-fading DOM elements | HTTP 203
19:00
Chrome for Developers
Рет қаралды 19 М.
Эффект Карбонаро и нестандартная коробка
01:00
История одного вокалиста
Рет қаралды 9 МЛН
Are SPAs better than MPAs? | HTTP 203
25:42
Chrome for Developers
Рет қаралды 42 М.
What key was pressed? (You won't believe how keyboard events work) | HTTP 203
31:36
Is .css a bad idea? Is inlining the way forward? | HTTP 203
24:50
Chrome for Developers
Рет қаралды 95 М.
Hand-SVGing a Curved Line
17:17
CSS-Tricks
Рет қаралды 9 М.
The history API is dead. Long live the navigation API | HTTP 203
17:52
Chrome for Developers
Рет қаралды 36 М.
SVG Path
20:35
Jakob Jenkov
Рет қаралды 134 М.
Thinking on ways to solve DIALOG
16:07
Chrome for Developers
Рет қаралды 39 М.
It's viewports all the way down | HTTP 203
43:35
Chrome for Developers
Рет қаралды 29 М.
Как удвоить напряжение? #электроника #умножитель
1:00
Hi Dev! – Электроника
Рет қаралды 1 МЛН