美文网首页
万恶的边框CSS

万恶的边框CSS

作者: 感觉不错哦 | 来源:发表于2018-11-21 15:25 被阅读175次

最近深受修改需求的痛苦,尤其是一个CSS效果居然搞忘了,主要还是写的太少,今天为大家减个坑,可能是我太菜

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
        <style>
          *{
              padding: 0;margin: 0
          }
          div{
              width: 500px;height: 300px;margin: 100px
          }
          img{
              display: block;width: 100%;height: 100%
          }
        </style>
    </head>
    <body>
             <div>
                 <img src="http://img5.imgtn.bdimg.com/it/u=3355878287,4138588456&fm=26&gp=0.jpg" alt="">
             </div>
    </body>
    <script>    
              
          
    </script>
    </html>

简单写了一个页面,可以直接复制,这时候有个恶心的需求就是我们鼠标放图片上面加个边框

        /* img:hover{
              border: 2px solid red
          } */
          div:hover{
            border: 2px solid red
          }

在CSS 中我们不管是图片加边框还是div加边框,都会更改原始的宽高,导致图片出现偏移,那我们肯定不能让图片动,

      img:hover{
              border: 2px solid red;margin: -2px
          }

在增大边框的同时我们改变图片的位置,这样就不会发生这种事情;不过万恶的UI不会让我们的效果这么简单的
很多时候我们都是要为div添加overflow:hidden 因为他就喜欢给box加个圆角

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
        <style>
          *{
              padding: 0;margin: 0
          }
          div{
              width: 500px;height: 300px;margin: 100px;overflow: hidden;border-radius: 4px
          }
          img{
              display: block;width: 100%;height: 100%
          }
          img:hover{
              border: 2px solid red;margin: -2px
          }
         
        </style>
    </head>
    <body>
             <div>
                 <img src="http://img5.imgtn.bdimg.com/it/u=3355878287,4138588456&fm=26&gp=0.jpg" alt="">
             </div>
    </body>
    <script>    
    </script>
    </html>

然后我们此时再使用就没效果了,因为边框变大两像素看不到了;这时候可以使用万能属性,box-sizing: border-box;去掉margin:-2px 好么,它又开始动了

其实解决方法有很多,但是突然脑子短路了不晓得咋办了

比较sao的办法就是提前给img加边框

  img{
              display: block;width: 100%;height: 100%;box-sizing: border-box;border: 2px solid transparent
          }
          img:hover{
              border: 2px solid red;
          }

直接给img加个2px的隐形框不就TM完事了吗 你说气不气 但是我就是没想到
还有一种比较麻烦,在div下写个定位div,一样的宽高不就好了吗,bfc怕个毛的覆盖
当然还有高级的写法,今天刚学会

 li{margin-right:10px;float:left;cursor:pointer;position:relative;width:100%;height:100%;}
li:before{content:'';width:100%;height:100%;position:absolute;top:0;right:0}
tli:hover:after{ content:""; display:block; width: 100%; height: 100%; border:2px solid #EB3434; box-sizing: border-
box;position:absolute;top:0;right:0}

此处懒的修改 也不难 选择器用的还是比较少
突然发现css跟js一样 不可能精通的 哈哈 没有 开玩笑

相关文章

  • 万恶的边框CSS

    最近深受修改需求的痛苦,尤其是一个CSS效果居然搞忘了,主要还是写的太少,今天为大家减个坑,可能是我太菜 简单写了...

  • HTML+CSS+JavaScript知识点整理2

    CSS选择器 CSS注释 CSS列表属性 CSS边框属性:每个元素都可以加边框线 CSS内边距属性:边框线到内容间...

  • CSS边框、图片alt、input标签placeholder、f

    CSS边框属性CSS 边框的属性有style(样式)、color(颜色)、width(宽度)、height(高度)...

  • 关于CSS3 新特性

    一、CSS3 边框 在 css3 中新增的边框属性如下: 创建圆角边框 示例 在CSS2中添加圆角很棘手,我们不得...

  • css3学习 第一天

    CSS3边框 CSS3 边框 用 CSS3,你可以创建圆角边框,添加阴影框,并作为边界的形象而不使用设计程序,如 ...

  • css之border

    css边框属性 通过css3,能够创建圆角边框,向矩形添加阴影,使用图片来绘制边框 border-radius b...

  • 2018-04-21 记录一些用到的CSS样式【留下了不学无术的

    圆角边框 CSS3 border-radius 属性 效果 只要四个角的边框 CSS background 属性 ...

  • CSS选择器

    CSS的多种引用 CSS的选择器 CSS的border边框

  • CSS3基础

    CSS3 边框 用 CSS3,你可以创建圆角边框,添加阴影框在本章中,您将了解以下的边框属性: border-ra...

  • CSS盒子模型、定位、浮动

    CSS盒子模型概述 CSS内边距 CSS边框: CSS外边距 CSS定位: CSS浮动:

网友评论

      本文标题:万恶的边框CSS

      本文链接:https://www.haomeiwen.com/subject/ukrcqqtx.html