Hi @maxkir,
I’ve elaborated on this suggestion. This is what I came up with:
body {
padding-bottom: 0;
}
.main_div.list_tag_kanbanize > .layoutDiv > .toolbarDiv > div.toolBar {
max-width: unset;
}
.main_div.list_tag_kanbanize > .layoutDiv > div.content {
max-width: unset;
padding: 0;
}
.main_div.list_tag_kanbanize div.verticalGuide,
.main_div.list_tag_kanbanize div.verticalGuide__selected {
display: none;
}
.main_div.list_tag_kanbanize ul.topLevel {
display: flex;
overflow: hidden;
overflow-x: auto;
scrollbar-width: thin;
padding: 0 32px;
}
.main_div.list_tag_kanbanize ul.topLevel::-webkit-scrollbar {
height: 6px;
background: #eee;
}
.main_div.list_tag_kanbanize ul.topLevel::-webkit-scrollbar-thumb {
background: #ccc;
}
.main_div.list_tag_kanbanize ul.topLevel li.hiddenByFilter,
.main_div.list_tag_kanbanize ul.topLevel li.hidden {
border: 0 !important;
margin: 0 !important;
}
.main_div.list_tag_kanbanize ul.topLevel.focusActiveTop > li.hiddenByFilter {
display: none;
}
.main_div.list_tag_kanbanize ul.topLevel > li.task {
flex: 0 1 500px;
margin: 0;
padding: 0 22px 0 0;
counter-reset: cardCount;
}
.main_div.list_tag_kanbanize ul.topLevel li.task > div.coreDiv {
margin-right: 22px;
}
.main_div.list_tag_kanbanize ul.topLevel > li.task > div.coreDiv {
margin-left: 24px;
margin-right: 64px !important;
}
.main_div.list_tag_kanbanize ul.topLevel > li.task > div.coreDiv > i.act {
right: 8px;
}
.main_div.list_tag_kanbanize ul.topLevel > li.task > div.coreDiv.tag_count {
margin-right: 94px !important;
}
.main_div.list_tag_kanbanize .tag.tag_count {
display: none;
}
.main_div.list_tag_kanbanize ul.topLevel > li.task.node_collapsed {
max-width: 34px;
min-width: 34px;
margin-left: 0;
}
.main_div.list_tag_kanbanize ul.topLevel > li.task.node_collapsed > div.coreDiv {
padding: 1px 3px;
margin: 0 !important;
border: 1px solid black;
}
.main_div.list_tag_kanbanize ul.topLevel > li.task.node_collapsed > div.coreDiv > div.nodeImage.node_collapsed {
opacity: 0;
left: 0;
right: 0;
top: 0;
bottom: 0;
transform: rotate(0deg);
}
.main_div.list_tag_kanbanize ul.topLevel > li.task.node_collapsed > div.coreDiv > span.editable {
writing-mode: vertical-rl;
transform: rotate(180deg);
padding: 4px 2px;
display: inline-block;
}
.main_div.list_tag_kanbanize ul.topLevel > li.task.node_collapsed > div.coreDiv > i.act {
display: none;
}
.main_div.list_tag_kanbanize ul.topLevel > li.task.node_collapsed > ul {
display: none;
}
.main_div.list_tag_kanbanize ul.topLevel > li.task.node_collapsed .progressCounter {
display: none;
}
.main_div.list_tag_kanbanize ul.topLevel > li.task > div.coreDiv > div.nodeImage:after {
content: "\f33e";
font-size: 14px;
position: absolute;
top: 4px;
left: 2px;
}
.main_div.list_tag_kanbanize ul.topLevel > li.task > ul {
padding: 0 2px 0 24px;
overflow: hidden;
overflow-y: auto;
scrollbar-width: thin;
height: calc(100vh - 168px) !important;
min-width: 300px;
}
.main_div.list_tag_kanbanize ul.topLevel > li.task > ul::-webkit-scrollbar {
width: 6px;
background: #eee;
}
.main_div.list_tag_kanbanize ul.topLevel > li.task > ul::-webkit-scrollbar-thumb {
width: 6px;
background: #ccc;
}
.main_div.list_tag_kanbanize ul.topLevel > li.task:not(.node_collapsed) > div.coreDiv.tag_count ~ ul::after {
position: absolute;
right: 24px;
top: 6px;
height: 17px;
min-width: 17px;
border: 1px solid black;
border-radius: 50%;
padding: 2px;
font-size: 0.7em;
line-height: 17px;
text-align: center;
content: counter(cardCount);
}
.main_div.list_tag_kanbanize ul.topLevel > li.task > ul > li.task {
margin: 0 0 2px 0;
box-shadow: 1px 2px 2px rgba(0, 0, 0, .1), -1px 2px 2px rgba(0, 0, 0, .1);
counter-increment: cardCount;
}
.main_div.list_tag_kanbanize ul.topLevel > li.task > ul > li.selectedTask {
background-color: rgb(246, 251, 255);
}
.main_div.list_tag_kanbanize ul.topLevel > li.task > ul > li.task > div.coreDiv {
margin: 0;
padding-right: 22px;
position: sticky;
top: 0px;
border: 1px solid black;
box-shadow: 0px 2px 2px rgba(0, 0, 0, .1);
z-index: 19;
}
.main_div.list_tag_kanbanize ul.topLevel > li.task > ul > li.task > div.coreDiv > i.act {
right: 8px;
}
.main_div.list_tag_kanbanize ul.topLevel > li.task > ul > li:not(.selectedTask) > div.coreDiv:not(.selectedTask) {
background-color: rgb(244,244,244);
}
.main_div.list_tag_kanbanize ul.topLevel > li.task > ul > li.task > ul:empty {
display: none;
}
.main_div.list_tag_kanbanize ul.topLevel > li.task > ul > li.task > ul:not(:empty) {
border: 1px solid black;
border-top-color: white;
}
.main_div.list_tag_kanbanize .textareaWrapper {
flex: 1 1 200px;
}
.main_div.list_tag_kanbanize .textareaWrapper > textarea{
width: 100% !important;
}
.main_div.list_tag_kanbanize #tasks_block {
margin-bottom: 0;
}
.main_div.list_tag_kanbanize .progressCounter {
right: -64px;
flex-direction: row-reverse;
}
.main_div.list_tag_kanbanize .progressCounter > .progressCounter__estimate {
position: initial;
margin-right: 4px;
}
After saving this custom CSS in the settings (PRO feature), one can activate the Kanban layout for any list by adding the #kanbanize
tag to the list.
I have one list with this layout that I use very much and it works rather well for me.
However, I don’t know, if the CSS works well in all browsers (I mostly use Firefox). And there are (of course) some shortcomings.
For example, drag-and-drop does not really work. So one has to use keyboard shortcuts instead. To move a card up/down, one can use the usual shortcuts (ctrl-up/down). To move a card to another column, one can use mm
, then select the current list, and then select the target column. Alternatively, one can create and then select this bookmarklet to move a card to the previous column:
javascript:maxkir.cmd.move_top();maxkir.cmd.move_up_jump();maxkir.cmd.move_top();
and this bookmarklet to move a card to the next column:
javascript:maxkir.cmd.move_bottom();maxkir.cmd.move_down_jump();
Unfortunately, I did not find out how to move the selection to the previous/next column, so I have to use the mouse/trackpad for this. Also scrolling (up/down and left/right) does not really work by keyboard. That’s bad, I know.
As an extra feature, one can add a card counter to a column by tagging the column with #count
. The tag itself will be hidden, but a circle containing the number of cards in the column will appear to the right of the column title.
You may check out how my Kanban layout looks like at this public list:
Kanban Example list (after opening the link, one should type ec
and expand the list to level 3 or greater to open all cards)
Maybe this is usefull not only for me.
Best,
soremo