在添加填充时,圆形圆形的引导 4.1.1 类选项在 MVC 5 页面上被扭曲

Posted

技术标签:

【中文标题】在添加填充时,圆形圆形的引导 4.1.1 类选项在 MVC 5 页面上被扭曲【英文标题】:Bootstrap 4.1.1 class option for rounded-circle is warped on MVC 5 page when adding padding 【发布时间】:2018-12-14 15:36:44 【问题描述】:

使用 VS 2017,为 MVC 5 页面引导 4.1.1 我正在尝试向图像添加右侧填充,如下所示,但是当我这样做时,图像的圆圈会变形。如果我将填充从圆圈中取出很好,但文本太靠近右侧的圆圈:

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.0/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.0/js/bootstrap.min.js"></script>
<div class="row">
  <div class="col-sm-12">
    <br />
    <figure>
      <style>
        .imgRightPadding20 
          padding-right: 20px;
        
      </style>
      <img class="img-fluid float-left rounded-circle imgRightPadding20" src="https://picsum.photos/200"  />

      <p> Some text about this person. </p>
    </figure>
  </div>
</div>

图像是普通的方形图像。我想使用圆角引导功能,但是当我在图像的右侧添加填充时,圆圈会变形。我需要填充,因为文本将在图像的右侧流动。使用 Bootstrap 4.1.1 时,如何在圆形图像的右侧添加填充而不会使圆形变形。提前致谢。

========== 2018 年 7 月 5 日更新

作为参考,下面是我的 MVC 5 项目的 _Layout.cshtml 文件中的内容。如果我在原始代码顶部采用建议的标记更改,那么我想我需要将其添加到 _Layout.cshtml 文件中?或者这些更改是否仅针对那些有讨论问题的页面添加到顶部?我有点困惑。

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>@ViewBag.Title - some person Website</title>
    <meta http-equiv="x-ua-compatible" content="ie=edge">
    @Styles.Render("~/Content/css")
    @Scripts.Render("~/bundles/modernizr")

</head>
<body style="padding-top:unset; padding-bottom:unset">

    <nav class="navbar navbar-dark bg-dark navbar-expand-sm">
        <div class="container">
            <a href="#" class="navbar-brand">Some Person</a>
            <ul class="navbar-nav">
                <li class="nav-item"><a class="nav-link" href="Index">Home</a></li>
                <li class="nav-item"><a class="nav-link" href="/Home/About">About</a></li>
                <!--    <li class="nav-item"><a class="nav-link" href="/Home/Contact">Contact</a></li>li>-->
            </ul><!-- navbar-nav -->
        </div><!-- container -->
    </nav>

    <div class="container body-content">
        @RenderBody()
        <hr />
        <footer>
            <p>&copy; @DateTime.Now.Year - ASP.NET MVC 5 web application built by some person</p>
        </footer>
    </div>

    @Scripts.Render("~/bundles/jquery")
    @Scripts.Render("~/bundles/bootstrap")
    @RenderSection("scripts", required: false)
</body>
</html>

========== 2018 年 7 月 7 日晚上 11:30 更新

这是我在 VS 2017 项目中安装的引导 Nuget 包的图片:

========= 更新 2018 年 7 月 7 日凌晨 12:27 我可以使用的唯一解决方案是用 div 标签将 img 标签括起来,并将 float-left 和 padding 应用于 div 标签而不是 img 标签。 VS 2017 附带的所有其他部分都很好,因此我不需要在 MVC 5 顶部添加脚本语句,也不需要顶部的 css 链接行。

<div class="row">
   <div class="col-sm-12">
      <figure>
         <style>
           .imgRightPadding20 
           padding-right: 20px;
           
         </style>

         <div class="float-left imgRightPadding20">
             <img class="img-fluid rounded-circle" src="~/Content/Images/someperson-200x200.jpg"  />
         </div>
         <p>Some text about the person   </p>
      </figure>
    </div>
 </div>

【问题讨论】:

【参考方案1】:

在图形标签上使用d-flex 类,并使用mr-4 类添加边距(而不是在图像上填充)。

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.0/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.0/js/bootstrap.min.js"></script>
<div class="container">
  <div class="row">
    <div class="col-sm-12">
      <br />
      <figure class="d-flex">
        <img class="img-fluid rounded-circle mr-4" src="https://picsum.photos/200"  />

        <p> Some text about this person. </p>
      </figure>
    </div>
  </div>
</div>

如果您仍想使用 float ,则只需将 padding-right: 20px 更改为 margin-right: 20px;

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.0/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.0/js/bootstrap.min.js"></script>
<div class="row">
  <div class="col-sm-12">
    <br />
    <figure>
      <style>
        .imgRightPadding20 
          margin-right: 20px;
        
      </style>
      <img class="img-fluid float-left rounded-circle imgRightPadding20" src="https://picsum.photos/200"  />

      <p> Some text about this person. </p>
    </figure>
  </div>
</div>

【讨论】:

您的代码 sn-ps 和更改工作。我想知道为什么您的添加有效,而不是 Visual Studio 2017 中为 _Layout.cshtml 文件提供的添加有效,该文件使用 @Styles.Render() 和 Scripts.Render 语句引入 css、modernizr、jquery 和 bootstrap 等文件。如果我采用您的解决方案,我将不得不用您提供的内容替换 Visual Studio 注入 the_Layout.cshtml 文件的内容。这就是我在 MVC 5 项目中应该做的事情吗? 我刚刚使用普通脚本和链接标签包含了引导文件,不确定您的视觉工作室如何将它们添加到您的项目中。您应该尝试搜索如何根据您的要求将它们包含在您的项目中。 我使用了 Manage Nuget Package Tool 添加 Bootstrap 4.1.1。我添加了我项目中的包图片,该图片是使用 VS 2017 菜单下的工具 -> Nuget 包管理器 的 VS 2017 管理 Nuget 包工具添加的 对不起,我对上述工具一无所知 :( 对不起,我无法帮助你。:( 您的代码添加在“运行代码片段”工具中工作。但是当我将它们添加到我的 MVC 5 页面时,问题仍然存在。无论我是否保留 VS 部件,添加都不能解决问题。我正在寻找可以在 VS 2017 下的 MVC 5 项目中工作的东西。不过,谢谢你的努力。【参考方案2】:

我可以使用的唯一解决方案是用 div 标签将 img 标签括起来,并将 float-left 和 padding 应用于 div 标签而不是 img 标签。 VS 2017 附带的所有其他部分都很好,所以我不需要在 MVC 5 顶部添加的脚本语句,也不需要顶部的 css 链接行。 _Layout.cshtml 文件也保持不变。以下是所有需要的:

<div class="row">
   <div class="col-sm-12">
      <figure>
         <style>
           .imgRightPadding20 
           padding-right: 20px;
           
         </style>

         <div class="float-left imgRightPadding20">
             <img class="img-fluid rounded-circle" src="~/Content/Images/someperson-200x200.jpg"  />
         </div>
         <p>Some text about the person   </p>
      </figure>
    </div>
 </div>

【讨论】:

以上是关于在添加填充时,圆形圆形的引导 4.1.1 类选项在 MVC 5 页面上被扭曲的主要内容,如果未能解决你的问题,请参考以下文章

iOS UIImageView如何为圆形ImageView添加填充

无绘制圆形渐变

一维中的 PyTorch 圆形填充

Flex 绘制圆形并填充图片

在uitableview中带有空格填充的圆形单元格

如何创建圆形样式进度条