zoukankan      html  css  js  c++  java
  • 用CSS作圓邊方塊

    這幾天在用公司網站的版型,多半都是拿Google來作參考,看到Google很多圓邊方塊的效果,都是用CSS做出來的,比我以前還用Table+Image,這一招實在是太好用了,分享給大家。

    效果如下:

    image

    CSS:

    <style type="text/css">
    .roundBorder
    {
        display: block;
    }
    .roundBorder *
    {
        background: white;
        display: block;
        height: 1px;
        overflow: hidden;
    }
    .roundBorderLayer1
    {
        border-left: 1px solid #C4C4C4;
        border-right: 1px solid #C4C4C4;
        margin: 0px 1px;
    }
    .roundBorderLayer2
    {
        border-left: 1px solid #D3D4D5;
        border-right: 1px solid #D3D4D5;
        margin: 0px 2px;
        padding: 0px;
    }
    .roundBorderLayer3
    {            
        background: #C4C4C4;
        border-left: 1px solid #D3D4D5;
        border-right: 1px solid #D3D4D5;
        margin: 0px 3px;
    }
    .roundContent
    {
        background:white;
        border-left: 1px solid #C4C4C4;
        border-right: 1px solid #C4C4C4;
        overflow: hidden;
        padding: 4px 10px;
    }
    </style>

    HTML:

    <b class="roundBorder">
        <b class="roundBorderLayer3"></b>
        <b class="roundBorderLayer2"></b>
        <b class="roundBorderLayer1"></b>
    </b>
    <div class="roundContent">
        Hello!!
        <br/>
        用CSS來作圓邊方塊
        <br/>
        真的很簡單
    </div>
    <b class="roundBorder">
        <b class="roundBorderLayer1"></b>
        <b class="roundBorderLayer2"></b>
        <b class="roundBorderLayer3"></b>
    </b>

    class說明

    roundBorder 的作用為群組下面的三個Layer

    roundBorderLayer1 的作用為左右margin 1px與左右border 1px

    roundBorderLayer2 的作用為左右margin 2px與左右border 1px

    roundBorderLayer3 的作用為左右margin 3px與左右border 1px ,而效果的上下邊線是用background完成。

    roundContent 的作用為左右margin 0px與左右border 1px

    它的組成就是

    image

    CSS說明

    其實所用的CSS也不是很複雜

    display: block; 顯示成區塊(因為b是inline,用div就不用加這段,而Google為什麼不用div而用b,我猜有隱喻Border與字數少的關係吧)。

    height: 1px; 高設成1px。

    overflow: hidden; 超出了就隱藏,不加也無所謂,如是怕b有內容出問題而加的。

    border-left: 1px solid #C4C4C4; 左灰色實心1px邊線。

    border-right: 1px solid #C4C4C4; 右灰色實心1px邊線。

    margin: 0px 1px; 左右1px邊界。

    簡單吧。

    建階用法

    會jquery的朋友,可以使用更簡單的方法完成。

    CSS相同,HTML只使用<div class="roundContent"></div>。

    用下列Javascript完成自動加<b>,加快HTML的撰寫。

    <script type="text/javascript">
        $(function() { addroundBorder(); })
     
        function addroundBorder() {
            var $content = $(".roundContent");
            $content.before('<b class="roundBorder"><b class="roundBorderLayer3"></b><b class="roundBorderLayer2"></b><b class="roundBorderLayer1"></b></b>');
            $content.after('<b class="roundBorder"><b class="roundBorderLayer1"></b><b class="roundBorderLayer2"></b><b class="roundBorderLayer3"></b></b>');
        }
    </script>
  • 相关阅读:
    Python学习日记(一)——初识Python
    读《乌合之众》
    用WPF做了几个小游戏
    《HeadFirst设计模式》读后感——对学习设计模式的一些想法
    设计模式C#实现(九)——工厂方法模式和简单工厂
    设计模式C#实现(八)——原型模式
    设计模式C#实现(七)——生成器模式
    设计模式C#实现(六)——单例模式
    《小强升职记》读后感和思维导图
    《魔鬼搭讪学》《魔鬼约会学》读后感
  • 原文地址:https://www.cnblogs.com/jcomet/p/1699290.html
Copyright © 2011-2022 走看看