The default tag for the basic text is <div>, but you can change it depending on the input. If you are using plain text, set it to <p> (or any other tag that fits). If you are using a dynamic data tag that already contains WYSIWYG styles (aka tags), leave it as a div.
Check this out. It’s happening to everyone. This is not normal behaviour and should not exist. Makes no sense to add 1.2 em margin when changed to p tags.
Why compare the behavior of vscode and bricks? These are different applications for different tasks. That’s why they behave differently. Each widget and html tags have basic styles to make it easier for users to create content. If you don’t like the basic styles, you can always change them to your own, but do not require this from the developers. the solution to your problem in one line of code that needs to be inserted into custom css…
Of course, it makes sense because otherwise, the browser would add its default margin-top and bottom of 1em. If you want that behavior, reset or override the default: Bricks » Settings » Custom CSS: p { all: revert } or p { margin: 0 }