代码之家  ›  专栏  ›  技术社区  ›  Guy Louzon

Bootsrap卡:按内容缩放以适合卡体

  •  0
  • Guy Louzon  · 技术社区  · 7 年前

    在Css方面,每张卡片的内容都放在2个不同的DIV标签和嵌套标签下 source

    JSFiddle 与修改至今,卡时,每一方在不同的大小

    HTML格式

    <!-- Team -->
    <section id="team" class="pb-5">
        <div class="container">
            <h5 class="section-title h1">Test</h5>
            <h6><small><a href="test">test</a></small></h6>
            <div class="row">
                <!-- Team member -->
    
    
                <!-- Team member -->
                <div class="col-xs-12 col-sm-6 col-md-4">
                    <div class="image-flip" ontouchstart="this.classList.toggle('hover');">
                        <div class="mainflip">
                            <div class="frontside">
                                <div class="card">
                                    <div class="card-body text-center">
                                        <p><img class=" img-fluid" src="https://sunlimetech.com/portfolio/boot4menu/assets/imgs/team/img_03.png" alt="card image"></p>
                                        <h4 class="card-title">Sunlimetech</h4>
                                        <p class="card-text">This is basic card with image on top, title, description and button.</p>
                                        <a href="#" class="btn btn-primary btn-sm"><i class="fa fa-plus"></i></a>
                                    </div>
                                </div>
                            </div>
                            <div class="backside">
                                <div class="card">
                                    <div class="card-body text-center mt-4">
                                          <ul class="list-group list-group-flush"> <!--  -->
                                            <li class="list-group-item"><a href="https://www.google.com/" class="list-group-item list-group-item-action"><h6>Google</h6></a></li>
                                            <li class="list-group-item"><a href="https://www.google.com/" class="list-group-item list-group-item-action"><h6>Another Google</h6></a></li>
                                            <li class="list-group-item"><a href="https://www.google.com/"><h6>Blah Blah Blah longer text than just "google"</h6></a></li>
                                            <li class="list-group-item"><a href="https://www.google.com/"><h6>Another list Item</h6></a></li>
                                        </ul>                                    <ul class="list-inline">
                                            <li class="list-inline-item">
                                                <a class="social-icon text-xs-center" target="_blank" href="https://www.google.com/">
                                                    <i class="fa fa-newspaper-o"></i>
                                                </a>
                                            </li>
                                            <li class="list-inline-item">
                                                <a class="social-icon text-xs-center" target="_blank" href="https://www.linkedin.com/">
                                                    <i class="fa fa-linkedin"></i>
                                                </a>
                                            </li>
                                            <li class="list-inline-item">
                                                <a class="social-icon text-xs-center" target="_blank" href="https://www.gmail.com/">
                                                    <i class="fa fa-address-book"></i>
                                                </a>
                                            </li>
                                            <li class="list-inline-item">
                                                <a class="social-icon text-xs-center" target="_blank" href="https://twitter.com/">
                                                    <i class="fa fa-twitter"></i>
                                                </a>
                                            </li>
                                            <li class="list-inline-item">
                                                <a class="social-icon text-xs-center" target="_blank" href="https://www.facebook.com/">
                                                    <i class="fa fa-facebook"></i>
                                                </a>
                                            </li>
                                        </ul>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
                <!-- ./Team member -->
    
    
            </div>
        </div>
    </section>
    <!-- Team -->
    

    CSS格式

    /* FontAwesome for working BootSnippet :> */
    
    @import url('https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css');
    #team {
        background: #eee !important;
    }
    
    .btn-primary:hover,
    .btn-primary:focus {
        background-color: #108d6f;
        border-color: #108d6f;
        box-shadow: none;
        outline: none;
    }
    
    .btn-primary {
        color: #fff;
        background-color: #007b5e;
        border-color: #007b5e;
    }
    
    section {
        padding: 60px 0;
    }
    
    section .section-title {
        text-align: center;
        color: #007b5e;
        margin-bottom: 50px;
        text-transform: uppercase;
    }
    
    #team .card {
        border: none;
        background: #ffffff;
    }
    
    .image-flip:hover .backside,
    .image-flip.hover .backside {
        -webkit-transform: rotateY(0deg);
        -moz-transform: rotateY(0deg);
        -o-transform: rotateY(0deg);
        -ms-transform: rotateY(0deg);
        transform: rotateY(0deg);
        border-radius: .25rem;
    }
    
    .image-flip:hover .frontside,
    .image-flip.hover .frontside {
        -webkit-transform: rotateY(180deg);
        -moz-transform: rotateY(180deg);
        -o-transform: rotateY(180deg);
        transform: rotateY(180deg);
    }
    
    .mainflip {
        -webkit-transition: 1s;
        -webkit-transform-style: preserve-3d;
        -ms-transition: 1s;
        -moz-transition: 1s;
        -moz-transform: perspective(1000px);
        -moz-transform-style: preserve-3d;
        -ms-transform-style: preserve-3d;
        transition: 1s;
        transform-style: preserve-3d;
        position: relative;
    }
    
    .frontside {
        position: relative;
        -webkit-transform: rotateY(0deg);
        -ms-transform: rotateY(0deg);
        z-index: 2;
        margin-bottom: 30px;
    }
    
    .backside {
        position: absolute;
        top: 0;
        left: 0;
        background: white;
        -webkit-transform: rotateY(-180deg);
        -moz-transform: rotateY(-180deg);
        -o-transform: rotateY(-180deg);
        -ms-transform: rotateY(-180deg);
        transform: rotateY(-180deg);
        -webkit-box-shadow: 5px 7px 9px -4px rgb(158, 158, 158);
        -moz-box-shadow: 5px 7px 9px -4px rgb(158, 158, 158);
        box-shadow: 5px 7px 9px -4px rgb(158, 158, 158);
    }
    
    .frontside,
    .backside {
        -webkit-backface-visibility: hidden;
        -moz-backface-visibility: hidden;
        -ms-backface-visibility: hidden;
        backface-visibility: hidden;
        -webkit-transition: 1s;
        -webkit-transform-style: preserve-3d;
        -moz-transition: 1s;
        -moz-transform-style: preserve-3d;
        -o-transition: 1s;
        -o-transform-style: preserve-3d;
        -ms-transition: 1s;
        -ms-transform-style: preserve-3d;
        transition: 1s;
        transform-style: preserve-3d;
    }
    
    .frontside .card,
    .backside .card {
        min-height: 312px;
    }
    
    .backside .card a {
        font-size: 18px;
        color: #007b5e !important;
    }
    
    .frontside .card .card-title,
    .backside .card .card-title {
        color: #007b5e !important;
    }
    
    .frontside .card .card-body img {
        width: 120px;
        height: 120px;
        border-radius: 50%;
    }
    
    
    
    @import url("https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css");
    @import url('https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700');
    @import url('https://fonts.googleapis.com/css?family=Libre+Baskerville:400,700');
    body{
        font-family: 'Open Sans', sans-serif;
    }
    *:hover{
        -webkit-transition: all 1s ease;
        transition: all 1s ease;
    }
    section{
        float:left;
        width:100%;
        background: #fff;  /* fallback for old browsers */
        padding:30px 0;
    }
    h1{float:left; width:100%; color:#232323; margin-bottom:30px; font-size: 14px;}
    h1 span{font-family: 'Libre Baskerville', serif; display:block; font-size:45px; text-transform:none; margin-bottom:20px; margin-top:30px; font-weight:700}
    h1 a{color:#131313; font-weight:bold;}
    
    1 回复  |  直到 7 年前
        1
  •  1
  •   Ruben Helsloot Rez    5 年前

    我建议您使用匹配高度: 首先,把这个放在页脚

    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery.matchHeight/0.7.2/jquery.matchHeight-min.js"></script>
    

    第二,把这个放在页脚(上面代码旁边)

    $(".card").matchHeight();
    

    演示如下: https://codepen.io/Lincox/pen/RqpERa