| ▲ | RandomThoughts3 3 months ago |
| Yes, extremely. A div element is a node in a tree which will be rendered by a very opiniated rendering engine adhering to a fairly strict set of standards, and which can be manipulated using a limited subset of technologies which are themselves fairly opinionated. A class Rectangle can be pretty much whatever you want. |
|
| ▲ | CharlieDigital 3 months ago | parent | next [-] |
| > A class Rectangle can be pretty much whatever you want
In what way can an `HTMLDivElement` not emulate a `class Rectangle`? - Both are rectilinear
- Both have width, height
- Both can have borders, backgrounds
- Both can be positioned in various grid/layout systems
- Both can contain child instances
- Both can contain a variety of child nodes like `Text`
- Both can be clipped and masked
- Both can be layered
What can you do with a `class Rectangle` from a GUI perspective that you can't do with an `HTMLDivElement`? |
| |
| ▲ | RandomThoughts3 3 months ago | parent [-] | | A class Rectangle can be whatever you want. You can overload it. You can change everything including how it’s rendered. It doesn’t have to be any of the things you list. A div element is a node in a tree which will be rendered by your browser in the way specified by the spec. You absolutely can’t freely do most of the actions you list to a div. There are severe limitations. A div doesn’t at all emulate a class. Its semantically something completely different. | | |
| ▲ | CharlieDigital 3 months ago | parent [-] | | > A Rectangle component is a node in a component tree which will be rendered by your OS graphics library in the way specified by the spec. You absolutely can’t freely do most of the actions you list to a div. There are severe limitations.
No?It seems like you're just talking about a `Rectangle` in the abstract rather than the real limitation that even `class Rectangle` is subject to the rules of the runtime engine that renders said `Rectangle`...in a component tree...with the restrictions of the OS/GUI framework... | | |
| ▲ | RandomThoughts3 3 months ago | parent [-] | | > No? No. Rendering outside of a web browser gives you a lot more freedom when it comes to how you layout and render. Rendering engines don’t necessarily use components tree by the way. Even gui frameworks (which is what I think you are talking about with OS graphic library) have layout engines which are a lot more powerful than css. Flexbox is a step in the right direction but still inferior to what some frameworks could do 20 years ago. |
|
|
|
|
| ▲ | wiseowise 3 months ago | parent | prev [-] |
| So instead of standardized element that works pretty much the same on every browser, that can be inspected and controlled by virtually every tool that works with web I, as a user, get a binary blob, correct? |