#stencil { position: relative; border: 1px solid gray; display: inline-block; background: transparent; overflow: hidden; } #stencil svg { background: transparent; } #stencil svg .link { z-index: 2; } .html-element { position: absolute; background: #3498DB; /* Make sure events are propagated to the JointJS element so, e.g. dragging works.*/ pointer-events: none; -webkit-user-select: none; border-radius: 4px; border: 2px solid #2980B9; box-shadow: inset 0 0 5px black, 2px 2px 1px gray; padding: 5px; box-sizing: border-box; z-index: 2; } .html-element select, .html-element input, .html-element button { /* Enable interacting with inputs only. */ pointer-events: auto; } .html-element button.delete { color: white; border: none; background-color: #C0392B; border-radius: 20px; width: 15px; height: 15px; line-height: 15px; text-align: middle; position: absolute; top: -15px; left: -15px; padding: 0; margin: 0; font-weight: bold; cursor: pointer; } .html-element button.delete:hover { width: 20px; height: 20px; line-height: 20px; } .html-element select { position: absolute; right: 2px; bottom: 28px; } .html-element input { position: absolute; bottom: 0; left: 0; right: 0; border: none; color: #333; padding: 5px; height: 16px; } .html-element label { color: #333; text-shadow: 1px 0 0 lightgray; font-weight: bold; } .html-element span { position: absolute; top: 2px; right: 9px; color: white; font-size: 10px; }