页面实战练习的知识点总结

前言:之前学习过慕课网上的电商网站的实战练习,感觉那个老师讲的挺好的。但是那时候写完没有认真的总结,这次练习了一个页面,和之前的很类似,但是比较简单一些。这里总结一下我平时写静态页面经常遇到的困惑点,梳理一下知识点。注:都是想到什么写什么,有些问题比较弱智,但是也还是记录一下,哈哈。

  1. css样式优先级的问题
  2. 简单的搜索框的常见写法
  3. 文字环绕图片的实现
  4. 行内元素设置了float之后就可以改变宽高了
  5. 如何把无序列表默认的实心圆点改成自己喜欢的图标
  6. background的相关语法(主要是居中和左对齐)
  7. 垂直居中(块垂直居中,内容垂直居中)
  8. 写页面的一些通用样式的设置技巧

    1、css样式优先级问题:
    ①同一个元素引用多个样式之后, 越在后面的优先级越高。
    ②同一个div设置了不同类型的样式选择器,优先级顺序为:
    id选择器>class选择器>标签选择器
    ③子类会继承父类的属性,但是子类自己定义了相同的属性值之后就会覆盖父类的属性值。
    ④带有!important标记的样式属性的优先级最高。
    ⑤内联样式 > 内部样式 > 外部样式 > 浏览器用户自定义样式 > 浏览器默认样式
    2、简单的搜索框的写法
    首先看一下效果图:
    这里写图片描述
    内容代码:

<div class="search fr">
                    <form>
                        <input class="fl" type="text" name="search" placeholder="请输入关键字">
                        <button class="fr">搜索</button>
                        <!-- <input type="submit" name=""> -->
                    </form>
                </div>

样式代码:

.top2 .search{
    width: 330px;
    height: 40px;
    /*line-height: 40px;*/
    margin-top: 5px;
    border:2px solid #bd1d17;
}
.top2 .search input{
    width: 240px;
    height: 30px;
    padding: 5px;
    border:0;
}
.top2 .search button{
    width: 50px;
    height: 40px;
    font-size: 15px;
    background-color:  #bd1d17;
    color: #fff;
    border:0;
}

解释:就是一个大的div里面包含一个input和一个button,然后分别给这三个块设置样式。需要注意的就是长度和宽度要算好就可以。给整个大的div设置边框颜色。给button设置背景颜色,改变字体颜色。。。就可以了。
3、文字环绕图片的实现
这个问题也比较好实现, 就是记录一下。
效果图:
这里写图片描述
代码:

.center .content img{
    float: left;
    margin: 0 10px 10px 0;
}

解释:就是给图片设置左浮动(右浮动)就可以了,再根据自己的需求设置margin值
4、行内元素设置了float就可以改变宽高
这个问题还挺神奇的,哈哈~
查了网上的资料,也不知道是为什么,先记着吧。另外就是,position:absolute;fixed;relative也可以将元素变成block元素。

下面上代码验证一下:

<style type="text/css">
        .box1{
            height: 50px;
         }
        .box2{
            height: 50px;
        }
        .box1 span{
         background-color: green;
         color: black;
         margin: 10px;
         /*以下设置无效*/
         width: 50px;
         height: 50px;
        }
        .box2 span{
         background-color: green;
         color: black;
         margin: 10px;
        /*加左浮动*/
         float: left;
         /*以下设置有效*/
         width: 50px;
         height: 50px;
        }

    </style>
</head>
<body>
    <div class="box1">
      <span>123</span>
      <span>123</span>
      <span>123</span>
    </div>
    <div class="box2">
      <span>123</span>
      <span>123</span>
      <span>123</span>
    </div>

效果图:
这里写图片描述

5、如何把无序列表默认的实心圆点改成自己喜欢的图标
一般默认的是一个实心圆点,如果要改成方的呢?
其中一种方法就是自己切图,然后给左边预留一个合适的位子(padding-left),然后加入背景图或者自己用span实现。
这里写图片描述
代码如下:

.news li{
    position: relative;
    padding-left: 15px;/*给图标预留的空间*/
    margin-bottom: 5px;
    background: url("images/list_bg.jpg") no-repeat center left;
}

6、background的相关语法(主要是居中和左对齐)
这个问题就是上一个问题的background的那句代码,之前一般很少使用center left。这里简单总结一下background的语法:
这里写图片描述
下面详细说明一下:
①background-position:
用于定位background-image的,默认值:0%,0%
这里写图片描述
还有其他的属性,用到我再来追加总结吧,嘻嘻~
7. 垂直居中(块垂直居中,文本垂直居中,图片垂直居中)
① 块垂直居中
使用position和margin-top:

<style type="text/css">
        .box{
           width: 200px;
           height: 200px;
           background-color: red;
           /*关键点1*/
           position:relative;
        }
        .div{
            width: 100px;
            height: 100px;
            background-color: green;
            /*关键点2*/
            position: absolute;
            top:50%;
            /*关键点3:margin-top为高度的一半*/
            margin-top:-50px;

        }
    </style>
</head>
<body>
 <div class="box">
    <div class="div">这里是如小乘的blog~</div>
 </div>

这里写图片描述
或者,把关键点3改成transform: translate(0,-50%);也是一样的效果。
②文本垂直居中

height: 100px;
/*关键点*/
line-height: 100px;

这里写图片描述

注意点就是,看到有的博客说到line-height不能设置为100%(还好我平时也没有这个习惯)line-height取值为百分比时候的描述:基于当前字体尺寸的百分比行间距。所以,这里的百分比并不是相对于父元素尺寸而言,而是相对于字体尺寸来讲的。
③图片的垂直居中
图片的垂直居中一般使用vertical-align属性,只要给img设置vertical-align:middle就可以了。注意:不是所有的元素都可以使用这个属性哦,不要乱用。
最后~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
8、写页面的一些通用样式的设置
对于整体宽度都相同的页面可以设置一个div“comwidth”来包裹内容
对于有很多左浮动,右浮动的页面可以设置两个class“fl”,”fr”,随时添加到需要设置浮动的div里面就可以
对于一些初始化的css样式,下次最好先复制到最前面作为通用样式
最后就是,每写一个模块的样式,之前最好加注释说明是那部分的样式。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值