You can customize a widget looking with CSS. But if it's DOM structure doesn't fulfill your requirement, then you need to crate a custom mold.
Create Mold js
Get Built-in Mold js
It's better to customize a mold based on the built-in mold js. All widgets' mold js are bundled with ZK jar files under the path:
[ZK_JAR] / web / js / [WIDGET_PACKAGE] / mold / *.js
[ZK_JAR]: could be
zul.jar, zkex.jar, zkmax.jar
[WIDGET_PACKAGE]: a widget's package folder like java package e.g. the mold js of
*.js: file name is the widget name e.g.
Copy the built-in mold js to your project's same path and rename to a readable name, e.g. in a maven project, you need to put
After mold js is ready, you can start to modify it. You can use Template literals to improve the readability (IE not supported).
Register Custom Mold