前提
Bootstrapのモーダルにvis.jsで作成したネットワーク図を表示したいのですが
指定した範囲の中心からずれて初期表示されてしまいます。
解決策をご教授願います。
(divモーダル外に記載すると上手く初期表示されます。)
実現したいこと
モーダルにvis.jsのネットワーク図を表示したい。
発生している問題・エラーメッセージ
指定範囲よりサイズが大きく、真ん中に表示されない
該当のソースコード
html
1 2<!doctype html> 3<html lang="ja"> 4 5<head> 6 <!-- Required meta tags --> 7 <meta charset="utf-8"> 8 <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> 9 10 <!-- Bootstrap CSS --> 11 <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous"> 12 <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.4.2/css/all.css" integrity="sha384-/rXc/GQVaYpyDdyxK+ecHPVYJSN9bmVFBvjA/9eOB+pb3F2w2N6fc5qB9Ew5yIns" crossorigin="anonymous"> 13 14 <link href="https://cdnjs.cloudflare.com/ajax/libs/vis/4.21.0/vis.min.css" rel="stylesheet"> 15 <style type="text/css"> 16 #network { 17 width: 400px; 18 height: 400px; 19 border: 1px solid #000; 20 } 21 </style> 22 <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/vis/4.21.0/vis.min.js"> 23</script> 24 25</head> 26 27<body> 28 <!-- モーダルを開くボタン・リンク --> 29 <div class="container"> 30 <div class="row my-3"> 31 <h1>モーダルを開く</h1> 32 </div> 33 <div class="row mb-5"> 34 <div class="col-2"> 35 <button type="button" class="btn btn-primary mb-12" data-toggle="modal" data-target="#testModal">ボタンで開く</button> 36 </div> 37 <div class="col-2"> 38 <a class="btn btn-primary" data-toggle="modal" data-target="#testModal">リンクボタンで開く</a> 39 </div> 40 </div> 41 </div> 42 43 <!-- ボタン・リンククリック後に表示される画面の内容 --> 44 <div class="modal fade" id="testModal" tabindex="-1" role="dialog" aria-labelledby="basicModal" aria-hidden="true"> 45 <div class="modal-dialog"> 46 <div class="modal-content"> 47 <div class="modal-header"> 48 <h4>class="modal-title" id="myModalLabel">削除確認画面</h4></h4> 49 </div> 50 <div class="modal-body"> 51 <div id="network"></div> 52 </div> 53 <div class="modal-footer"> 54 <button type="button" class="btn btn-default" data-dismiss="modal">閉じる</button> 55 <button type="button" class="btn btn-danger">削除</button> 56 </div> 57 </div> 58 </div> 59 </div> 60 61 <!-- Optional JavaScript --> 62 <!-- jQuery first, then Popper.js, then Bootstrap JS --> 63 <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script> 64 <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script> 65 <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script> 66</body> 67 68</html> 69 70<script type="text/javascript"> 71 var nodes = new vis.DataSet([ 72 {id: 1, label: 'A'}, 73 {id: 2, label: 'B'}, 74 {id: 3, label: 'C'}, 75 {id: 4, label: 'D'}, 76 {id: 5, label: 'E'}, 77 {id: 6, label: 'F'}, 78 {id: 7, label: 'G'}, 79 {id: 8, label: 'H'}, 80 ]); 81 var edges = new vis.DataSet([ 82 {from: 1, to: 2, arrows: 'to'}, 83 {from: 1, to: 3, arrows: 'to'}, 84 {from: 3, to: 4, arrows: 'to'}, 85 {from: 6, to: 1, arrows: 'to'}, 86 {from: 7, to: 8, arrows: 'to'}, 87 {from: 8, to: 7, arrows: 'to'}, 88 ]); 89 var container = document.getElementById('network'); 90 var data = { 91 nodes: nodes, 92 edges: edges 93 }; 94 var options = { 95 }; 96 var network = new vis.Network(container, data, options); 97 </script> 98
試したこと
nodeで座標を指定しましたが、変わりませんでした。
公式ドキュメントによると、階層レイアウト(hierarchical)では無効みたいです。
あなたの回答
tips
プレビュー