【问题标题】:Vertically centering images to text in a multi-column container Bootstrap 4?在多列容器 Bootstrap 4 中垂直居中图像到文本?
【发布时间】:2018-01-29 13:17:26
【问题描述】:

我想知道如何垂直居中对齐文本和图片以创建这样的网站部分: 我想对齐该图片左侧的公司名称上的徽标和文本。我想将徽标置于其旁边的文本及其描述的中心。

HTML:

<div class="jarallax" data-jarallax-video="https://www.youtube.com/watch?v=v3Fie3AFMrA">
    <div class="overlay subSection container-fluid">
        <div class="row justify-content-center">
            <div class="overlay-cell clearfix">
            <div class="col-sm-12">
                <h1 class="display-2 ">Research</h1>
            </div>
        </div>
      </div>
    </div>
 </div>

 <section id="about">
     <h5 class="text-center pb-3">Discovering The Future.</h5>
     <div class="container">
         <div class="row">
             <div class="col-md-5">
                <div class="row">
                    <div class="col-2">
                        <img src="assets/caolab.png" width="75" height="75"  alt="" class="img-fluid testphoto">
                    </div>
                    <div class="col d-flex align-items-center">
                        <h2>The Cao Lab</h2>
                        <h3>April 2016 – Present</h3>April 2016 – Present
                    </div>

                    <div class="col-md-5 offset-2">

                        </div> 
                </div>
             </div>
         </div>
     </div>
 </section>

CSS:

        .testphoto { 
      display: inline-block; 
      vertical-align:middle;
   }

    .labname{
      display: inline-block; 
      vertical-align:middle;
      border:solid black 1px; 
    }

更新问题

非常感谢@WebDevBooster 提供以下解决方案。但是,我意识到我遇到的一些问题。尽管与下面发布的代码相似,但我进行了一些更改以准确反映我想要的内容,但是,它并没有以响应方式运行。为了简洁明了,我在列表中明确列出了这些问题:

  1. 随着浏览器窗口向移动设备尺寸缩小,列表变得非常狭窄,右侧的图片/视频项目变得非常小且不美观。我认为这部分是因为我无法将图片/视频项目放在右侧的列下方,所有项目符号点都允许列表项目向右扩展。

    1. 随着站点变小,我希望所有元素都占据屏幕的整个宽度(当然宽度是默认填充)。本质上,这意味着包含视频播放器和卡通的最右侧列将移动到其左侧的条目下方。类似这样的东西(这是我网站另一部分的风格): 想法是徽标将堆叠在公司名称上方(以更大的尺寸填满屏幕)和图片/视频右侧的 ul 将堆叠在下方。

    2. 如果屏幕足够大(桌面),我想保持这种外观:

同时在移动视图中避免这种情况:

HTML:

    <section id="about">
     <div class="container">
            <h3 class="font-weight-bold text-center">Discovering The Future.</h3>
         <div class="row mt-4">

         </div>
         <div class="row">
             <div class="col">
                <div class="row">                
                    <div class="col-auto">       
                        <img src="https://picsum.photos/140/65" alt="" class="img-fluid testphoto">
                    </div>
                    <div class="col pt-3">
                        <h2>The Cao Lab</h2>
                        <h3 class="font-weight-bold pt-1 pb-3">April 2016 - Present</h3>
                        <ul>
                            <li class="pb-3">Employ alkene metathesis to produce porous molecules valuable for encapsulation and adsorption applications</li>
                            <li class="pb-3">Prepare analytical samples, preform characterization analysis, and interpret results for molecules of interest</li>
                            <li class="pb-3">Communicate research to others by attending conferences and poster presentations</li>
                            <li class="pb-5">Devised a cost-effective method to quantify hydrogen production during evolution experiments</li>
                        </ul>
                    </div>
                    <div class="col-sm-3 ">

                            <div class="embed-responsive embed-responsive-5by3 teensie">
                              <iframe class="embed-responsive-item youtube" src="https://www.youtube.com/embed/KPZ8HHRR1A0"></iframe></div>    
                     </div>
                </div>            
             </div>

         </div>
         <div class="row">
             <div class="col">
                 <div class="row">
                     <div class="col-auto">
                         <img src="https://picsum.photos/140/65" alt="" class="img-fluid testphoto">
                     </div>
                     <div class="col pt-3">
                         <h2>Institut Parisien de Chimie Moléculaire
                            </h2>
                         <p class="text-primary">National Science Foundation Internation REU Program.</p>
                         <h3 class="font-weight-bold pb-3">May 2017 - August 2017</h3>
                         <ul>
                             <li class="pb-3">Conduct study on the selective deprotection of perbenzylated a-cyclodextrin to access novel functionalization</li>
                             <li class="pb-3">Synthesize molecules suitable as ligands in metal-catalysis and for improving chiral HPLC discrimination ability</li>
                             <li class="pb-3">Prepare analytical samples, preform characterization analysis, and interpret data of cyclodextrin derivatives</li>
                             <li>Submitted abstract to present at the Chemical Education Division of the 255th ACS National Meeting</li>
                         </ul>                           
                     </div>
                     <div class="col-sm-3 ">
                            <img src="https://vignette.wikia.nocookie.net/rayman/images/c/cf/Teensy.png" alt="" class="img-fluid teensie2 ">
                            </div>
                     </div>

                 </div>

             </div>

         </div>

 </section>

CSS:

        .shift{
        margin-left:20px;
    }

    .barbie{
      list-style: none;
        margin: 0;
        padding: 0;
    }

    .barbieitem{
      //text-align: right;
      font-size: 1.3em;
    }
    .testphoto { 
      display: inline-block; 
      vertical-align:middle;
   }

    .joblist{
      display: inline-block;
    }

    .labname{
      display: inline-block; 
      vertical-align:middle;
      border:solid black 1px; 
    }

    .youtube {
      max-width: 300px;
      max-height: 300px;
      position: relative !important;
      float: right;

    }

    .teensie{
      top: 50%;
      left:50%;
      transform: translate(-50%,-50%);
    }

    .teensie2{
      position: relative;
      top: 50%;
      left:50%;
      transform: translate(-50%,-50%);
    }

【问题讨论】:

    标签: html css twitter-bootstrap bootstrap-4


    【解决方案1】:

    我将这两个项目(图像 + h2 元素)嵌套在一行及其对应的列中。图像列被赋予col-auto 类以使其保持狭窄,而h2 列被赋予类d-flex align-items-center 以使里面的项目垂直居中。

    这里是工作代码sn-p(点击下方“运行代码sn-p”进行测试):

    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
    
    <section id="about">
        <div class="container">
            <div class="row mt-4">
                <div class="col-md-11">
                    <h3 class="font-weight-bold text-right">Discovering The Future.</h3>
                </div>
            </div>
            <div class="row">
                <div class="col-md-9">
                   <div class="row">
                       <div class="col-auto">
                           <img src="https://picsum.photos/140/65" alt="" class="img-fluid testphoto">
                       </div>
                       <div class="col pt-3">
                           <h2>The Cao Lab</h2>
                           <h3 class="font-weight-bold pt-1 pb-3">April 2016 - Present</h3>
                           <ul>
                               <li class="pb-3">Lorem ipsum dolor sit amet, consectetur adipisicing elit, consectetur adipisicing elit.</li>
                               <li class="pb-3">Lorem ipsum dolor sit amet, consectetur adipisicing elit, consectetur adipisicing elit.</li>
                               <li class="pb-3">Lorem ipsum dolor sit amet, consectetur adipisicing elit, consectetur adipisicing elit.</li>
                               <li class="pb-5">Lorem ipsum dolor sit amet, consectetur adipisicing elit, consectetur adipisicing elit.</li>
                           </ul>
                       </div>
                   </div>
                </div>
            </div>
            <div class="row">
                <div class="col-md-9">
                    <div class="row">
                        <div class="col-auto">
                            <img src="https://picsum.photos/140/65" alt="" class="img-fluid testphoto">
                        </div>
                        <div class="col pt-3">
                            <h2>Institut Parisien</h2>
                            <p class="text-primary">National Blue text lorem ipsum dolor sit amet consectetur adipisicing elit.</p>
                            <h3 class="font-weight-bold pb-3">May 2017 - August 2017</h3>
                            <ul>
                                <li class="pb-3">Lorem ipsum dolor sit amet, consectetur adipisicing elit, consectetur adipisicing elit.</li>
                                <li class="pb-3">Lorem ipsum dolor sit amet, consectetur adipisicing elit, consectetur adipisicing elit.</li>
                                <li class="pb-3">Lorem ipsum dolor sit amet, consectetur adipisicing elit, consectetur adipisicing elit.</li>
                                <li>Lorem ipsum dolor sit amet, consectetur adipisicing elit, consectetur adipisicing elit.</li>
                            </ul>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </section>

    【讨论】:

    • 这是想法,除了我试图让“Hello Inc”(公司名称)以图像为中心,然后在其下方有多行,例如“

      April 2016 – 现在

      和工作描述的要点。我尝试了上面的方法,但是一切都是从右到左而不是垂直向下增长。如我上面的第一张图片所示,我正在尝试重写我的这一部分引导程序中的站点,其中我有多个列,最右边的一个我将放置一些与左侧条目相关的视频。
    • 您上面的图片相互矛盾。所以,目前还不清楚你想要什么。即使在这里有这样的解释,它仍然远非明确。至少有几种可能性可以解释您在上述评论中所说的内容。因此,我建议您使用一些图形编辑程序来创建一个图形,该图形准确无误地显示所需的对齐方式。因为我并不热衷于仅仅因为规格不明确而一遍又一遍地重做。
    • 嘿@WebDevBooster,很抱歉造成混乱。我想我现在已经澄清了我的问题,并模拟了我正在努力实现的目标。我更新了上面的OP
    • 那么,您为什么要谈论“垂直居中”?绝对没有任何形式的垂直居中。你在顶部有一个非常小的填充。而已。这与垂直居中有什么关系?没什么,对吧?您想要的是第一张图片的顶部填充非常小,而第二张则根本没有填充。对吗?
    • 这是一个全新的问题。我已经回答了原始问题,您说您对解决方案感到满意。如果你有一个新问题,你应该把它作为一个新问题发布。评论不是这样的地方,并且针对您遇到的每个新问题不断更新您的问题也不是一个好主意,因为这很快就会产生合格的用户可能会开始完全忽略您的问题的效果......
    猜你喜欢
    • 1970-01-01
    • 2015-05-06
    • 1970-01-01
    • 1970-01-01
    • 2016-02-05
    • 1970-01-01
    • 1970-01-01
    • 2014-04-07
    • 2012-07-01
    相关资源
    最近更新 更多