UNPKG

force-graph-vis

Version:

基于D3.js的知识图谱可视化解决方案

198 lines (166 loc) 4.03 kB
/* ========================== svg容器样式 ========================== */ /* svg容器 */ .kg-force-graph-svg-container { cursor: move; user-select: none; } /* 大部分的svg的子元素都在这个group里 方便做拖拽 */ .kg-force-graph-svg-main-group { /*transition: opacity 1s;*/ } .kg-force-graph-svg-main-group .link-arrow-def { transition: fill 0.4s 0.2s, opacity 0.4s 0.2s; } /* ========================== layer样式 ========================== */ /* layer容器 */ .kg-force-render-layer { } /* 节点、线layer */ .kg-force-nodes-layer_base, .kg-force-links-layer_base { will-change: opacity; transition: opacity 0.3s; } /* 透明layer样式 */ .layer-opacity { opacity: 0.3; } /* ========================== 节点样式 ========================== */ /* 节点外层容器 */ .kg-force-node-wrap { cursor: pointer; } /* 节点 */ .kg-force-node-entity { fill: #0eb0ed; fill-opacity: 0.1; stroke-width: 1px; transition: all 0.25s; } .kg-force-node-bg { transition: all 0.25s; } /* 节点外光晕 */ .kg-force-node-halo { fill: rgba(164, 230, 255, 0.2); } /* 节点文字 */ .kg-force-text { font-size: 14px; fill: #666666; transition: opacity 0.4s 0.2s; dominant-baseline: middle; /* 文字垂直居中 */ } /* 节点低亮文字 */ .kg-force-text-opacity { opacity: 0.2; } /* 节点控制区域group容器 */ .kg-force-node-ctrl-area-group { display: none; } /* 节点控制区域 */ .kg-force-node-ctrl { fill: rgba(74, 125, 133, 0.2); } /* ========================== 线样式 ========================== */ /* 线外层容器 */ .kg-force-link-wrap { } /* 线 */ .kg-force-link { fill: none; stroke: rgba(0, 0, 0, 0.3); transition: stroke 0.3s; stroke-width: 1px; stroke-width: 0.5px; /* 0.5像素的线比较好看,可以优雅降级的1px的线 */ } /* 低亮线 */ .kg-force-link.kg-force-link-opacity { stroke: rgba(127, 128, 174, 0.2); } /* 高亮线 */ .kg-force-link.kg-force-link-full { stroke-width: 1px; stroke: rgba(127, 128, 174, 0.7); } /* 背景线 */ .kg-force-link-background { transition: stroke 0.3s, opacity 0.3s; } /* 线文字标签 */ .kg-force-link-label-wrapper { stroke: rgba(0, 0, 0, 0.3); transition: stroke 0.3s, opacity 0.3s; stroke-width: 1px; } /* 线文字 */ .kg-force-link-text { font-size: 12px; fill: #999; transition: opacity 0.4s 0.2s; } /* 线文字textPath */ .kg-force-link-text .kg-force-link-text-path { text-anchor: middle; } /* 线箭头样式 */ #arrowhead path { fill: rgb(175, 175, 195); stroke: none; } /* ========================== 图谱框选工具 ========================== */ /* 框选区域 */ .kg-force-brush-area { background: #666666ee; position: relative; } /* 框选选择框 */ .kg-force-brush-area .selection { fill-opacity: 0.15; stroke: #aaaaaa; stroke-width: 2px; } /* 框选节点容器(未选中) */ .kg-force-node-wrap.kg-force-node-brush { opacity: 0.5; } /* 框选节点(未选中) */ .kg-force-node-wrap.kg-force-node-brush .kg-force-node-entity { stroke: transparent; stroke-width: 2px; transition: fill 0.3s, stroke 0.3s; } /* 框选节点容器(选中) */ .kg-force-node-wrap.kg-force-node-selected { opacity: 1; } /* .kg-force-node-wrap.kg-force-node-brush, .kg-force-node-wrap.kg-force-node-selected { stroke: #ffffff99; stroke-width: 2px; transition: fill 0.3s, stroke 0.3s, opacity 0.3s; } */ /* 框选节点(选中) */ .kg-force-node-wrap.kg-force-node-selected .kg-force-node-entity { stroke: #555555; stroke-width: 3px; } /* 框选线容器(未选中) */ .kg-force-link-wrap.kg-force-link-brush { opacity: 0.5; transition: opacity 0.3s; } /* 框选线(未选中) */ .kg-force-link-wrap.kg-force-link-brush .kg-force-link { transition: stroke 0.3s, stroke-width 0.3s; } /* 框选线容器(选中) */ .kg-force-link-wrap.kg-force-link-selected { opacity: 1; } /* 框选线(选中) */ .kg-force-link-wrap.kg-force-link-selected .kg-force-link { stroke: #777; stroke-width: 2px; }