CSS Common Layout Skills, CSS Triangle Clever Application, CSS Initialization

Table of contents

1. CSS Common Layout Skills

1. Negative margin application 

2. Text surrounds floating elements

 3. Clever application of inline blocks

2. Clever application of CSS triangle


1. CSS Common Layout Skills

Clever use of a technique for faster and better layouts:

  1. The use of negative margin values
  2. Text around floated elements
  3. Clever Use of Inline Blocks
  4. CSS triangle enhancement

1. Negative margin application 

 The border is too thick, and the border is 1px, which is equivalent to 1px+1px = 2px, so the border in the middle is thicker. Use margin-left: -1px; to make the right box move 1px to the left and cover the left border.

 Code

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>margin负值的巧妙运用</title>
    <style>
        ul li {
            float: left;
            width: 150px;
            height: 200px;
            border: 1px solid red;
            list-style: none;
            margin-left: -1px;
        }
    </style>
</head>

<body>
    <ul>
        <li>1</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
        <li>5</li>
    </ul>
</body>

</html>

When the mouse is over, let it display different borders

  ul li:hover {

            border: 1px solid blue;

        }

But the right border is missing. 

  1.  Move the margin of each box to the right by -1px to just press the border of the adjacent box
  2. When the mouse passes over a certain box, just increase the level of the current box (if there is no fixed positioning, add relative positioning (reserve position), if there is positioning, add z-index)

2. Text surrounds floating elements

Clever use of floating elements will not suppress the characteristics of text.

Code:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>文字围绕浮动元素的巧妙运用</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
        
        .box {
            width: 300px;
            height: 70px;
            background-color: pink;
            margin: 0 auto;
            padding: 5px;
        }
        
        .pic {
            float: left;
            width: 120px;
            height: 60px;
            margin-right: 5px;
        }
        
        .pic img {
            width: 100%;
        }
    </style>

</head>

<body>
    <div class="box">
        <div class="pic">
            <img src="images/img.png" alt="">
        </div>
        <p>克里斯蒂亚诺罗纳尔多</p>
    </div>
</body>

</html>

 3. Clever application of inline blocks

Code:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>行内块的巧妙使用</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
        
        .box {
            text-align: center;
        }
        
        .box a {
            display: inline-block;
            width: 36px;
            height: 36px;
            background-color: #f7f7f7;
            border: 1px solid #ccc;
            text-align: center;
            line-height: 36px;
            text-decoration: none;
            color: #333;
        }
        
        .box .prev,
        .box .next {
            width: 85px;
            font-size: 14px;
        }
        
        .box .current,
        .box .elp {
            border: none;
            background-color: #fff;
        }
        
        .box input {
            height: 36px;
            width: 45px;
            border: 1px solid #ccc;
            outline: none;
        }
        
        .box button {
            width: 60px;
            height: 36px;
            background-color: #f7f7f7;
            border: 1px solid #ccc;
        }
    </style>
</head>

<body>
    <div class="box">
        <a href="#" class="prev">&lt;&lt;上一页</a>
        <a href="#" class="current">2</a>
        <a href="#">3</a>
        <a href="#">4</a>
        <a href="#">5</a>
        <a href="#">6</a>
        <a href="#" class="elp">...</a>
        <a href="#" class="next">&gt;&gt;下一页</a> 到第
        <input type="text"> 页
        <button>确定</button>
    </div>
</body>

</html>

2. Clever application of CSS triangle

 Code:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>CSS三角强换的巧妙运用</title>
    <style>
        .class {
            /* width: 0;
            height: 0;
             把上边框的宽度调大 
            border-top: 100px solid transparent;
            border-right: 50px solid skyblue;
             左边和下边的边框宽度设置为0 
            border-bottom: 0 solid blue;
            border-left: 0 solid green;  */
            /* 代码简写 */
            /* 1.只保留右边的边框有颜色 */
            border-color: transparent red transparent transparent;
            /* 2.样式都是solid */
            border-style: solid;
            /* 3.上边框宽度要大,有边框宽度稍小,其余的边框为0; */
            border-width: 100px 50px 0 0;
        }
        
        .price {
            width: 160px;
            height: 24px;
            border: 1px solid red;
            margin: 0 auto;
            line-height: 24px;
        }
        
        .miaosha {
            position: relative;
            float: left;
            width: 90px;
            height: 100%;
            text-align: center;
            background-color: red;
            color: #fff;
            font-weight: 700;
            margin-right: 8px;
        }
        
        .miaosha i {
            position: absolute;
            right: 0;
            top: 0;
            height: 0;
            width: 0;
            border-color: transparent #fff transparent transparent;
            border-style: solid;
            border-width: 24px 10px 0 0;
        }
        
        .origin {
            font-size: 12px;
            color: gray;
            text-decoration: line-through;
        }
    </style>
</head>

<body>
    <div class="class"></div>
    <div class="price">
        <span class="miaosha">
            ¥1650
        <i></i>
        </span>
        <span class="origin">¥5650</span>
    </div>
</body>

</html>

3. CSS initialization

Different browsers have different default values ​​for some tags. In order to eliminate the differences in HTML text rendering by different browsers and take care of browser compatibility, we need CSS initialization

Simple understanding: CSS initialization refers to resetting the browser's style. (also known as CSS reset)

Every web page must first do CSS initialization.

Here we take Jingdong CSS initialization code as an example.

Unicode encoded fonts:

Replace the name of the Chinese font with the corresponding Unicode code, which can effectively avoid the problem of garbled characters when the browser interprets the CSS code.

For example:
bold \9ED1\4F53

Arial \5B8B\4F53

Microsoft Yahei\5FAE\8F6F\96C5\9ED1

Guess you like

Origin blog.csdn.net/weixin_68773927/article/details/130018497