【问题标题】:how to stop canvas from overflowing a container div in bootstrap如何阻止画布在引导程序中溢出容器 div
【发布时间】:2022-09-27 10:34:46
【问题描述】:

简而言之,我有一个具有动态变化宽度的画布,它不会发生太大变化,其默认大小为 400x550。它显示图像并提供用于打印图像的 UI。在桌面上它看起来很棒,但在移动设备上它会在容器的空白之外绘制画布,并且想知道是否有办法修复它。

<div class=\"container pt-4\" id=\"mainUI\" style=\"margin-top: 5%; background-color: #EEEEEE;\">
    <div class=\"row\">
        <div class=\"colmatt
            <div class=\"card-deck\">
                <div class=\"card mb-4\">
                    <div class=\"card-body\">
                        <h1>Print</h1>
                        <p class=\"card-text font-weight-bold\">
                            Supported File Types (CGM, PDF, PS, SVG, DWG, TIF, PNG, JPG, BMP, GIF)
                        </p>

                        <!--Choose file -->
                        <div class=\"input-default-wrapper  span-browse\">
                            <input type=\"file\" id=\"upload\" name=\"filetoupload\" class=\"input-default-js btn btn-primary\" onChange=\"sendFile();\" />
                        </div>

                        <form method=\"POST\" action=\"/fileUpload\" 
 enctype=\"multipart/form-data\" id=\"fileUploadForm\">
                            <div class=\"form-row mb-1\">
                            </div>
                            <div class=\"file_upload\" id=\"file-upload\" 
 style=\"display:none;\">
                                <span class=\"blink_text\">Uploading File. This can take a 
 few minute...</span>
                            </div>
                            <div class=\"file-data\" id=\"file-ident\" 
 style=\"display:none;\">
                                <b style=\"font-size:  medium;\" class=\"form- 
 label\">Printer:
                                </b>
                                <col-10>
                                    <select class=\"custom-select custom-select-sm\" 
 name=\"selectedPrinter\" id=\"selectedPrinter\"
                                        onchange=\"SetPaper(), drawPaper();\">   
                                        <option value=\"1\" selected>HP Laserjet 
6i</option>
                                        <option value=\"2\">Canon TX 7100</option>
                                    </select>
                                </col>
                                <div class=\"form-row mb-1\">
                            
                                        <b for=\"MediaSize\" style=\"font-size:  medium;\" 
margin: auto; class=\"form-label\">Paper:
                                        </b>
                                   
                                    <div class=\"col-4\">
                                        <select class=\"custom-select custom-select-sm\" 
id=\"MediaSize\"
                                            onChange=\"drawPaper(jsonObj);\">
                                            <option value=\"36 inch Roll\" selected>36 
inch Roll</option>
                                            <option value=\"24 inch Roll\">36 inch 
Roll</option>
                                        </select>
                                    </div>
                                </div>
                                <div class=\"row\">
                                    <input id=\"filename\" type=\"text\" value=\"\" 
class=\"form-control\" name=\"filename\" style=\" display:none;\">
                                    <input id=\"oname\" type=\"text\" value=\"\" class=\"form- 
control\" name=\"oname\" style=\" display:none;\">
                                    <div class=\"col-6 my-2col-6 my-2 \">
                                        <div class=\"card-deck text-left my-2\">
                                            <div class=\"card box-shadow\">
                                                <div class=\"card-header\">
                                                    <h6 class=\"my-0 font-weight- 
 bold\">File Properties</h6>
                                                </div>
                                                <div class=\"card-body\">
                                                    <ul class=\"list-unstyled\">
                                                        <li class=\"col text-left font- 
 weight-bold\" id=\"ident\"></li>
                                                        <li class=\"col text-left\" 
 id=\"dimensions\"></li>
                                                        <li class=\"col text-left\" 
 id=\"resolution\"></li>
                                                        <li class=\"col text-left\" 
 id=\"pages\"></li>
                                                        <li class=\"col text-left\" 
 id=\"filename\" style=\" display:none;\"></li>
                                                    </ul>
                                                </div>
                                            </div>
                                         </div>
                                      </div>
                                    <div class=\"col-2 \" id=\"file-\">
                                      <canvas class=\"cgm\" id=\"pvCanvas\" width=\"400\" 
 height=\"550\"
                                      style=\"position: static; background: transparent; 
 left: 0; right: 0; margin: auto; z-index: 1; margin-top: 0px; margin-bottom: -10px; 
 border: 
  1px solid #000000; \"></canvas>
                                      <div class=\"form-row\">
                                        <canvas class=\"canvas\" id=\"canvas1\" width=\"400\" 
  height=\"30\"
                                         style=\"position: static; background: 
    transparent; left: 0; right: 0; ; z-index: 1; margin-left: 5px; margin-top: 2px;  
    border: 
    1px solid #000000; \"></canvas>
                                        </div>
                                    </div>
                                  
                                </div>
                            </div>

                            <!--This section is data specific, the ID of each DIV is the 
 filetype -->
                            <div class=\"file-data\" id=\"file-common\">
                                <h4 class=\"mt-4\">Print Options</h4>
                                <div class=\"row\">
                                    <div class=\"col-3\">
                                        <div class=\"input-group\">
                                            <label class=\"input-group-addon\">Scale(%) 
 </label>
                                            <input id=\"ScaleFactor\" type=\"number\" 
 step=\"any\" value=\"100\" class=\"form-control\" onchange=\"scaleF()\" name=\"Scale\">
                                        </div>
                                    </div>
                                    <div class=\"col-3\">
                                        <div class=\"input-group\">
                                            <label for=\"mode\" class=\"input-group- 
 addon\">Color</label>
                                            <select class=\"custom-select d-block w-30\" 
 id=\"mode\" onchange=\"drawPaper()\" name=\"mode\">
                                                <option value=\"RGB\">Full</option>
                                                <option value=\"BW\">Monochrome</option>
                                                <option value=\"GRAY\">Greyscale</option>
                                            </select>
                                        </div>
                                    </div>
                                    <div class=\"col-3\">
                                        <div class=\"input-group\">
                                            <label for=\"Resolution\" class=\"input-group- 
 addon\">Quality</label>
                                            <select class=\"custom-select d-block w-30\" 
 id=\"Resolution\" name=\"Resolution\">
                                                <option value=\"150\">Low</option>
                                                <option value=\"300\">Medium</option>
                                                <option value=\"600\">High</option>
                                            </select>
                                        </div>
                                    </div>
                                    <div class=\"col-3\">
                                        <div class=\"input-group\">
                                            <label for=\"Orient\" class=\"input-group- 
 addon\">Orientation</label>
                                            <select class=\"custom-select d-block w-30\" 
 id=\"orientation\" onchange=\"drawPaper()\" name=\"Orient\">
                                                <option>0</option>
                                                <option>90</option>
                                                <option>180</option>
                                                <option>270</option>
                                            </select>
                                        </div>
                                    </div>
                                    <div class=\"col-3\">
                                        <div class=\"input-group\">
                                            <label for=\"Orient\" class=\"input-group- 
addon\">Image Width </label>
                                            <input id=\"ImageWidth\" type=\"number\" 
step=\"any\" value=\"0\" onchange=\"imgW()\" class=\"form-control\" name=\"Scale\">
                                        </div>
                                    </div>
                                    <div class=\"col-3\">
                                        <div class=\"input-group\">
                                            <label for=\"Orient\" class=\"input-group- 
 addon\">Image Height </label>
                                            <input id=\"ImageHeight\" type=\"number\" 
 step=\"any\" value=\"0\"onchange=\"imgH()\" class=\"form-control\" name=\"Scale\">
                                        </div> 
                                    </div>
                                    <div class=\"col-3\">
                                        <div class=\"input-group\">
                                            <div class=\"form-check form-check-inline\">
                                                <input class=\"form-check\" 
onchange=\"Aspect(this)\" type=\"checkbox\"  id=\"AspectRatio\"
                                                     checked >
                                                <class=\"form-check-label\" 
for=\"AspectRatio\" style=\"font-size:  medium; padding: 5px;\">
                                                          Aspect Ratio
                                            </div>
                                        </div>
                                    </div>

                                </div>
                            </div>
            
                            <!--end visibility zone -->

                            <hr />
                            <button class=\"btn btn-primary\" type=\"button\" 
onclick=\"save2JSON();\" id=\"btn_Print\" value=\"Print\">Print</button>
                            <button class=\"btn btn-success\" type=\"button\" onclick=\" 
checkForfile(jsonstr);\">Preview</button>
                            <input class=\"btn btn-secondary\" type=\"reset\" 
onclick=\"cleanUp();\"value=\"Reset\">
                        </form>
                    </div>
                </div>
            </div>
        </div>
    </div>

</div>
<div class=\"container py-2\" id=\"mainUI1\" style=\"background-color: #F5F5F5;\">

    <div class=\"container py-2\" id=\"container\"></div>
</div>

<div class=\"container py-2\" id=\"mainUI2\" style=\"background-color: #F5F5F5;\">
    <div class=\"row\">
        <div class=\"col text-center\">
            <small>
                Toll Free: 1800 000 000| Email: <a 
href=\"mailto:example@example.com\">example@example.com</a><br>
                &copy;2022 , Inc. All rights reserved.
            </small>
        </div>
    </div>
</div>            

    标签: html bootstrap-4 html5-canvas


    【解决方案1】:

    如果我正确理解了您的问题,我认为您遇到了与我相同的问题。 我的设计在桌面上看起来不错,但是当我在移动设备上测试它时...... :(。 我在这里发布了这个问题的详细解决方案:StackOverflow answer 我不得不将我的大部分“div”替换为引导“col”和“row”标签。 祝你好运!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-07
      • 2021-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-05
      • 2018-05-14
      相关资源
      最近更新 更多