Users should be able to explicitly specify how wide blocks should be. Right now it is only possible to influence the width of a block using other, possibly empty blocks.
HOW COULD IT BE DONE?
Add UI to the context menu for blocks enabling users to choose integers which get fed straight into flex-grow - CSS | MDN.
REAL WORLD USE CASES
Visual weight and space is important, especially for complex objects with lots going on. Often times, things need to be placed in the same row, but occupy different widths.
Most people are lazy, so I’ve added the link exemple.
I’m not convinced that your idea could take less time than the actual drag and drop of a block next to the one you want to shrink.
If this is Drag and drop VS. context menu + width selection, it seems to take roughly the same time.
I’d like a game changer idea not just an alternative way of doing what we already can do. Hope you will give us better exemple
It’s a complex enough subject to be able to handle all needs and use cases!
But one thing I find annoying (also in Notion): columns are necessarily resized!
Having a column “just the right size” for the element that contains it is therefore impossible: the slightest change in window size will change the size (and the element contained will be hidden or wrapped, or there will be a big ugly space between it and the next element).
So for me, it would be more like giving a fixed size to a column that would be useful (and it seems to me that there’s JS behind it, we have a percentage size…)
I’m afraid you’re wrong because you can already do this in anytype, for a long time.
Just hover the hidden draggin bar located between your blocks, then hold the left click on it and move it.
Despite being able to do so in Anytype, even greater control over block size could be nice.
e.g. no space between blocks which you can currently only do so with CSS.
If width can be controlled even further (with no block space as well), it would be possible to mimic vertical input / top-to-down texts, as an alternative to top-to-down RTL, even though the input process might not be as neat and smooth. It will also needs to support more blocks in the same row though.
Not totally. We need a greater control.
Yes you can resize block but these are still relative sizes (in percentage terms). Resizing the window will change all sizes!
So it’s impossible to put a small element in a small column and keep it visible, because as soon as the window is reduced, the object will be truncated…
I don’t know if a FR already exists for this, I’ll look into it later.
Maybe we need to take a leaf from Godot’s book and give users different kinds of Containers. Maybe they want this block to maintain a certain aspect ratio, maybe they want those blocks to take specific percentages of the layout width, maybe they want some other blocks to all be the same width and wrap to as many rows as needed.
Then AnyType has better information to start with when it has to figure out what to do with a narrower layout.
I’ve set the “Implemented” flag for this topic, because what the TS asked for is already there.
Nevertheless we could indeed make good use of a feature that give us MORE control over block sizes and the horizontal and vertical spacing.
In some cases it would even make sense to overlap blocks.
For example if the have an Embed with a drawing and we want to overlap some text.
I suggest to rethink the need, discuss it further here, and then to write a new FR for that.