如何使按钮水平对齐?

时间:2019-04-01 20:37:30

标签: css

我当前的设计CSS出现问题。我几乎完成了所有工作。但是,在最终产品中,我注意到“查看参与按钮”未与其他“查看参与按钮”对齐。他们似乎上下波动。都应该对齐。我调整了周围的桌子/盒子,以便通过将高度固定为150px来对齐它们。谁能看到我的代码中的错误并指出如何修复这一部分?我下面有一张图片,看起来像什么:

<style type="text/css">
        /*<![CDATA[*/
        body {
            margin: 0;
            padding: 0;
            -webkit-text-size-adjust: 100% !important;
            -ms-text-size-adjust: 100% !important;
            -webkit-font-smoothing: antialiased !important;
        }

        img {
            border: 0 !important;
            outline: none !important;
        }

        td, a, span {
            border-collapse: collapse;
            mso-line-height-rule: exactly;
        }

        .ExternalClass * {
            line-height: 100%;
        }

        .em_defaultlink a {
            color: inherit !important;
            text-decoration: none !important;
        }

        .em_black a {
            text-decoration: none;
            color: #000000;
        }

        .em_white a {
            text-decoration: none;
            color: #ffffff;
        }

        .em_blue a {
            text-decoration: none;
            color: #0a75b1;
        }

        .em_grey a {
            text-decoration: none;
            color: #4d4d4d;
        }

        .em_g_img + div {
            display: none;
        }

        @media only screen and (min-width: 481px) and (max-width: 667px) {
            .em_main_table {
                width: 100% !important;
            }

            .em_wrapper {
                width: 100% !important;
            }
        .em_wrapper2 {
                width: 100% !important;
        height: 150px !important
            }

            .em_hide {
                display: none !important;
            }

            .em_full_img {
                width: 100% !important;
                height: auto !important;
            }

            .em_full_img img {
                width: 100% !important;
                height: auto !important;
            }

            .em_side10 {
                width: 10px !important;
            }

            .em_ptop {
                padding-top: 20px !important;
            }

            /* Padding Left Right Bottom */
            .em_h20 {
                height: 20px !important;
                font-size: 1px !important;
                line-height: 1px !important;
            }

            .em_w300 {
                width: 320px !important;
            }

            .em_w280 {
                width: 320px !important;
            }

            .em_font_18 {
                font-size: 27px !important;
                line-height: 31px !important;
            }
        }

        @media screen and (max-width: 480px) {
            .em_main_table {
                width: 100% !important;
            }

            .em_wrapper {
                width: 100% !important;
            }
            .em_wrapper2 {
                width: 100% !important;
            }

            .em_hide {
                display: none !important;
            }

            .em_full_img {
                width: 100% !important;
                height: auto !important;
            }

            .em_full_img img {
                width: 100% !important;
                height: auto !important;
            }

            .em_side10 {
                width: 10px !important;
            }

            .em_side_10 {
                width: 10px !important;
            }

            .em_ptop {
                padding-top: 20px !important;
            }

            /* Padding Left Right Bottom */
            .em_h20 {
                height: 20px !important;
                font-size: 1px !important;
                line-height: 1px !important;
            }

            .em_font_18 {
                font-size: 18px !important;
                line-height: 23px !important;
            }

            .em_w300 {
                width: 300px !important;
            }

            /* update the N number as per width */
            .em_w280 {
                width: 300px !important;
            }

            .em_w146 {
                width: 146px !important;
            }

            .em_aside25 {
                padding: 0px 25px !important;
            }

            u + .em_body .em_full_wrap {
                width: 100% !important;
                width: 100vw !important;
            }
        }

下面是我的代码示例:

<table width="328" border="0" cellspacing="0" cellpadding="0" align="right" style="width:328px;" class="em_wrapper">
<tbody>
    <tr>
        <td align="center" valign="top" class="em_ptop">
            <table width="328" border="0" cellspacing="0" cellpadding="0" align="center" style="width:328px;" class="em_w300">
<tbody>
    <tr>
        <td align="center" valign="top">
            <table width="157" border="0" cellspacing="0" cellpadding="0" align="left" style="width:157px;" class="em_wrapper">
                <tbody>
                    <tr>
                        <td align="center" valign="top" style="border: solid 2px #9e9f9f;">
                            <table width="100%" border="0" cellspacing="0" cellpadding="0" align="center" class="em_wrapper">
                                <tbody>
                                    <tr>
                                        <td align="center" valign="top" bgcolor="#9E9F9F" style="background-color:#9e9f9f; color:#fff;">
                                            Feature Presenter 3
                                            <table width="157" border="0" cellspacing="0" cellpadding="0" align="center" style="width:157px;" class="em_wrapper"></table>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td height="189" align="center" valign="bottom" style="height:189px;">
                                            <img src="./TREATMENT OPTIONS FOR ADVANCED BREAST CANCER_files/oshughnessy-joyce-800.png" width="145" alt="" height="153" style="display:block; font-family:Arial, sans-serif; font-size:20px; line-height:30px; color:#000000; max-width:145px; height:153px;" class="em_g_img" border="0">
                                        </td>
                                    </tr>
                                </tbody>
                            </table>
                        </td>
                    </tr>
                    <tr>
                        <td align="center" valign="top" bgcolor="#4D4D4D" style="background-color:#4d4d4d; border-bottom-left-radius:5px; border-bottom-right-radius:5px;">
                            <table width="157" border="0" cellspacing="0" cellpadding="0" align="center" style="width:157px;height:150px" class="em_wrapper">
                                <tbody>
                                    <tr>
                                        <td align="center" valign="top" style="padding:0px 10px;">
                                            <table width="100%" border="0" cellspacing="0" cellpadding="0" align="center">
                                                <tbody>
                                                    <tr>
                                                        <td class="em_white" align="center" valign="top" style="font-family: &#39;Roboto&#39;, Arial, sans-serif; font-size:14px; line-height:17px; color:#ffffff;padding:8px 0px;">
                                                            <span style="font-weight:bold;">Joyce O’Shaughnessy</span><br>
                                                            Baylor University Medical Center
                                                        </td>
                                                    </tr>
                                                    <tr>
                                                        <td align="center" valign="top" style="padding-bottom:11px;">
                                                            <table width="125" border="0" cellspacing="0" cellpadding="0" align="center" style="width:125px;">
                                                                <tbody>
                                                                    <tr>
                                                                        <td align="center" valign="top" bgcolor="#007F3D" style="border-radius:5px;">
                                                                            <table width="125" border="0" cellspacing="0" cellpadding="0" align="center" style="width:125px;">
                                                                                <tbody>
                                                                                    <tr>
                                                                                        <td class="em_white" align="center" valign="middle" height="56" style="height:56px; font-family: &#39;Roboto&#39;, Arial, sans-serif; font-size:13px; color:#ffffff; font-weight:bold;">
                                                                                            <a target="_blank" href="http://localhost:8038/single-event/zone-t-minnesota?section=3" style="text-decoration:none; color:#ffffff; display:block; line-height:16px;">View
                                                                                            Participation<br>
                                                                                            Options
                                                                                            </a>
                                                                                        </td>
                                                                                    </tr>
                                                                                </tbody>
                                                                            </table>
                                                                        </td>
                                                                    </tr>
                                                                </tbody>
                                                            </table>
                                                        </td>
                                                    </tr>
                                                </tbody>
                                            </table>
                                        </td>
                                    </tr>
                                </tbody>
                            </table>
                        </td>
                    </tr>
                </tbody>
            </table>
        </td>

如果需要,我也可以添加CSS样式,但是我认为我拥有的内联CSS需要进行调整/修改/添加。

1 个答案:

答案 0 :(得分:1)

我从完全放弃基于表的布局开始,这简化了HTML。然后,我取消了内联样式,这进一步简化了事情。

所以我们有一个事物列表,顺序无关紧要,所以让我们使用无序列表(ul)。

关于如何布置列表元素,您有很多选择,为简单起见,我选择了display:block。您还可以查看FlexCSS Grid甚至是CSS Tables

要使按钮与底部对齐,我创建了一个具有固定高度的元素,并将其设置为position:relative。然后,我将position:absolute应用于按钮元素并设置相对于父元素底部的位置。

.presenters {
  list-style: none;
  padding: 0;
}

.presenter {
  display: inline-block;
  margin-right: 10px;
  width: 158px;
  background-color: #4D4D4D;
  color: #FFF;
  border-radius: 0 0 5px 5px;
  vertical-align: top;
  overflow: hidden;
}

.presenter-imgContainer {
  background-color: #FFF;
  border: solid 2px #9e9f9f;
}

.presenter-img {
  display: block;
  width: 155px;
}

.presenter-title {
  background-color: #9E9F9F;
  font-size: 16px;
  font-weight: 400;
  text-align: center;
  width: 155px;
  margin: 0;
}

.presenter-content {
  /*Set a sensible fixed height*/
  height: 80px;
  /*Give enough room in the bottom padding 
    For the action element
  */
  padding: 8px 10px 70px;
  /*We want to postion the action element
    relative to this
  */
  position: relative;
  font-family: 'Roboto', Arial, sans-serif;
  font-size: 14px;
  line-height: 17px;
  text-align: center;
}

.presenter-name {
  font-weight: bold;
}

.presenter-action {
  background-color: #007F3D;
  display: block;
  padding: 10px 5px;
  text-decoration: none;
  color: white;
  border-radius: 5px;
  /*Postion the button at the bottom*/
  position: absolute;
  bottom: 10px;
  width: calc(100% - 30px);
}
<ul class="presenters">
  <li class="presenter">
    <div class="presenter-imgContainer">
      <h2 class="presenter-title">Feature Presenter 2</h2>
      <img class="presenter-img" src="https://www.fillmurray.com/154/189" />
    </div>
    <div class="presenter-content">
      <div class="presenter-name">Dennis Salmon</div>
      <div class="presenter-desc">UCLA Medical Center</div>
      <a class="presenter-action" target="_blank" href="http://localhost:8038/single-event/zone-t-minnesota?section=3">View Participation<br>Options</a>
    </div>
  </li>
  <li class="presenter">
    <div class="presenter-imgContainer">
      <h2 class="presenter-title">Feature Presenter 3</h2>
      <img class="presenter-img" src="https://www.fillmurray.com/154/189" />
    </div>
    <div class="presenter-content">
      <div class="presenter-name">Joyce O’Shaughnessy</div>
      <div class="presenter-desc">Baylor University Medical Center</div>
      <a class="presenter-action" target="_blank" href="http://localhost:8038/single-event/zone-t-minnesota?section=3">View Participation<br>Options</a>
    </div>
  </li>
</ul>