More designer control properties and options

Perhaps I am still new to Anvil in general, but to me, it seems like the whole “You don’t need to know html/css to use Anvil” is used very loosely.

From the few hours I spent trying to put together a decent app, it seems like you really do need to know HTML/CSS if you want to accomplish a decent looking app, even some very “simple” things.

It would be nice if there are even more designer properties and control options for designing the UI.
For example, anchors, and such, similar to Visual Studio Designer

  • I was trying to set the background image of the form. The form doesn’t have any properties for this, so you add a panel/container/card, then you add the image control… → CSS
  • I wanted to add a simple “box” in the center of the screen/page. Okay so I add an outline card. The card is centered horizontally, but not vertically. There is no designer way to center this item from what I can see. —> CSS

I have more to add but it would just seem like a list of complaints haha.
Please someone correct me if I’m wrong, but it seems like the main purpose and use of Anvil is for creating small internal apps quickly, not really meant for a scalable production level business app.

I’ve checked the forum and it doesn’t seem like there is a good example of any website or company using Anvil to such a high level.

Sorry for the long post. Would be nice to have more control over the UI through the UI designer instead of depending on CSS


Anvil philosophy is "You don’t need to know html/css to use Anvil” to make a working , not to make a perfectly looking to your liking app.

You don’t need, but if you want to play with css, then the door is open. Knock yourself out and do whatever you like.

If they listen to this feature request and add 1, or 5 or 20 options, they end up with an UI that is more complex and still is never going to cover every case. That’s why I like Anvil: the UI includes that 97% that I use every day, and the door is open for that 3% that shows up occasionally. And if you are a perfectionist (unfortunately I don’t have time to be a perfectionist), you can do it.

The philosophy of most no-code products: they expose a gazillion options, and you are welcome to drawn in them. And if that option that you really need is missing, or if you need a custom behavior that needs some code, then you are out of luck (I have personal experience with the SharePoint world here).

The philosophy of Anvil: it’s a yes-code environment, you can’t do anything without writing any code. You have the tools to get something fairly good and the door is open to improve it as much as you like.

I spent 2-3 days to create a template that I like, with footer, header, navigation bar, etc. 5 years ago, and since then I (almost) haven’t used any css or html.

Sooo… I don’t think they will ever add hundreds of options to the UI.

I hope they will not, I like things simple. For example the two things you mentioned, vertically centered box and background image, I have never needed them and I don’t see myself needing them any time soon. If they did listen to you, I would end up with a more crowded UI for nothing, my Anvil experience would be worse. I can’t read the future, I may need them in the future, and I can do both using css. Easy.

You may try asking for specific options, and if your feature requests will get many likes, you may be more lucky.

This is obviously my personal opinion, I’m not talking for Anvil or for the community!


While I’ll agree with @stefano.menci that adding hundreds of options to components will not make any sense, I will still recommend adding at least a few more.

I made a feature request about this a while ago

1 Like

Anvil UI is simple and quick, but if you need some special options you can always use custom HTML or create few extra CSS roles. Anvil is really great tool. Makes everything much easier.
With just python you can really do great things with it. Yes, it’s not perfect and they are still working on it. Some old unfulfilled requests could improve the user experience, let’s hope they will implement them some day.

I’ve worked with Salesforce a little and that is ****. It’s good, if you stick to the basic. Everything beyond, forget it. Anvil gives you freedom in going beyond basic stuff.

If you want more controll about the placement just use XY Panel.

Totally agree! I have used Anvil for some years and I understand you completely.

Hopefully the anvil team will look in to it at some extent :slight_smile:

It’s quite a balance for having a user friendly ui and have full control over the components.

1 Like

I am undoubtedly new to Anvil, so new that after testing its features I returned to studying Python. A detour it is, hope me. I have noticed the same thing, playing with the looks requires CSS and HTML and even JavaScript. More so, lots of events one can react to are not exposed to Python through the editor. And there is no clean way to circumvent in pure Python.

However, my reaction was different, I thought it was a good thing. Web design is evolving fast and I would never dare to follow all the trends, so why should Anvil? I guess that whenever it is impossible to do all of something, one should do as little as possible. Anvil did exactly that - they offer a design language and components that are sufficient to solve any problem except 3D rendering. Being that new, I am not sure about 3D, though.

Consider a button. I do not see how I can get right justified text in a centered button. I am not sure if it is a limitation. It might be, but it may also be a safety feature preventing me from ruining the consistency of the design. Same for the background image - it may be an important missing feature or a design disaster. I do not know, but I have checked that I can delegate such things to a design pro.

I write this for just two reasons. First, I would like to mildly discourage from asking for change early. A newbie can be very convincing making disastrous proposals. Second, I would like to contribute to the collection of people’s reactions Anvil may be compiling.

1 Like