精华内容
下载资源
问答
  • 我们回顾一下这段代码: 看这里➡️div> ⬅️看这里➡️div> ⬅️看这里div> 我们不仅看到元素节点,属性节点还有文本节点,问题就是处在文本节点的渲染导致3px(chrome)的间隔。那如何解决它? 解决办法 方法一、...

    603f6200229d6f078c8e85260c89b18d.png

    需求:在我们日常开发当中,我们经常会遇到将一些元素排列成一行的需求。这样的需求实现起来却是不难,我们可以利用浮动,利用flex布局都可以实现,但是今天我们要用inline-block的方法。

    <div class="box">看这里➡️</div>
    <div class="box">⬅️看这里➡️</div>
    <div class="box">⬅️看这里</div>
    .box{
        display: inline-block;
        width: 100px;
        height: 50px;
        background-color: #ddd;
        text-align: center;
        line-height: 50px;
    }

    现象

    我们就得到了这样的效果:

    12328918d812da45af231afa56fb246d.png

    我们不难发现,我们并没有使用margin值。但是它们之间确有间隔。很显然,这不是我们想要的结果,那是为什么导致这样呢?如何解决它呢?

    原因

    其实,html的原因。我们回顾一下这段代码:

    <div class="box">看这里➡️</div>
    <div class="box">⬅️看这里➡️</div>
    <div class="box">⬅️看这里</div>

    我们不仅看到元素节点,属性节点还有文本节点,问题就是处在文本节点的渲染导致3px(chrome)的间隔。那如何解决它?

    解决办法

    方法一、删除空白节点

    同样的方法,有四种写法

    <div class="box">看这里➡️</div><div class="box">⬅️看这里➡️</div><div class="box">⬅️看这里</div>

    或者

    <div class="box">看这里➡️</div
    ><div class="box">⬅️看这里➡️</div
    ><div class="box">⬅️看这里</div>

    亦或者

    <div class="box">
    看这里➡️</div><div class="box">⬅️看这里➡️
    </div><div class="box">⬅️看这里</div>

    或者添加 注释标签

    <div class="box">看这里➡️</div><!--
    --><div class="box">⬅️看这里➡️</div><!--
    --><div class="box">⬅️看这里</div>

    以上的这些方法,无一列外破坏了代码的可读性。

    方法二、标签自动补全

    我这里插一句。我有个有毒的面试题,拿出来跟大家分享一下。请问a标签嵌套a标签。

    <a href="https://shenzhiyong.com.cn/">扫码关注!
       <a href="https://github.com/szy1000">沈志勇说</a>
    </a>

    请问点击「扫码关注」和「沈志勇说」分别跳转到哪里?

    其实在浏览器会自己帮你解析错误帮你解析成正确的代码

    <a href="https://shenzhiyong.com.cn/">扫码关注!</a>
    <a href="https://github.com/szy1000">沈志勇说</a>

    其实,上面的这个面试题就是我自己在项目中犯的错!

    19d0a9e5e371393c5948be10701268cf.png

    我们回到主题:既然a标签能自己校正,那我们故意偷懒呢?

    <a class="box">看这里➡️
    <a class="box">⬅️看这里➡️
    <a class="box">⬅️看这里

    很显然是可以的,但是div是不行的。我亲自测试过!不过你在项目不要这样写,免的被喷死!

    184207d0d4c264603f0e81fe793a23b8.png

    方法三、负的marigin值

    .box {
        margin: -3px; /*左右缩小3px*/
        display: inline-block;
        width: 100px;
        height: 50px;
        background-color: #ddd;
        text-align: center;
        line-height: 50px;
    }

    这样的方式,可以解决chrome下面的问题。但是不建议使用。因为在某些游览器上面,这个文本节点可能设置成4px的间隔。因为解决问题,引入了新的问题,那就尴尬!

    62a9e7b06ad63db4500d70b39f360f49.png

    方法四、 font-size: 0

    既然是文本节点导致的,那我们就把文本节点设置成0不就ok?顺着这个思路,我们这些写: 我们先给div加一个父级节点

    <div class="wrapper">
        <div class="box">看这里➡️</div>
        <div class="box">⬅️看这里➡️</div>
        <div class="box">⬅️看这里</div>
    </div>
    .wrapper{
        font-size: 0;
    }
    .box {
        font-size: 14px;
        display: inline-block;
        width: 100px;
        height: 50px;
        background-color: #ddd;
        text-align: center;
        line-height: 50px;
    }

    主要: 因为font-size是默认继承的属性。所以父级给了0,子级要重新设置font-size: 14px。

    方法五、 补充 letter-spacing和word-spacing

    后来我看到这样2个方法,其实这种方法跟margin为负值的相同。还有比较生僻的方法就不一一介绍了。

    还有就是:我发现在vue和react中利用v-for 和map循环出来的节点是没有文本节点的,大家可以一试。

    欢迎大家微信关注 沈志勇说

    展开全文
  • 作者:陈宏鸿来源:www.cnblogs.com/aspwebchh/p/12220673.html本人是做游戏服务器开发的,碰到一个需求,给符某些要求的玩家的发送道具奖励,奖励的数量根据离线的天数计算。这个需求实现起来很简单,只需要在玩家...
    作者:陈宏鸿来源:www.cnblogs.com/aspwebchh/p/12220673.html本人是做游戏服务器开发的,碰到一个需求,给符某些要求的玩家的发送道具奖励,奖励的数量根据离线的天数计算。

    这个需求实现起来很简单,只需要在玩家上线的时候计算上次离线时间和当前时间间隔的天数,然后根据策划的算法,计算出道具种类与数量,发一封邮件给玩家就可以了。

    计算两个时间间隔天数的函数没有现成的,自己又懒得写,就上谷歌搜了下,选了第一条结果,代码如下:

    public static int differentDays(Date date1,Date date2){    Calendar cal1 = Calendar.getInstance();    cal1.setTime(date1);    Calendar cal2 = Calendar.getInstance();    cal2.setTime(date2);    int day1= cal1.get(Calendar.DAY_OF_YEAR);    int day2 = cal2.get(Calendar.DAY_OF_YEAR);    int year1 = cal1.get(Calendar.YEAR);    int year2 = cal2.get(Calendar.YEAR);    if(year1 != year2)   //同一年    {        int timeDistance = 0 ;        for(int i = year1 ; i < year2 ; i ++)        {            if(i%4==0 && i%100!=0 || i%400==0)    //闰年                        {                timeDistance += 366;            }            else    //不是闰年            {                timeDistance += 365;            }        }        return timeDistance + (day2-day1) ;    }    else    //不同年    {        System.out.println("判断day2 - day1 : " + (day2-day1));        return day2-day1;    }}

    代码来源:www.cnblogs.com/0201zcr/p/5000977.html

    把代码复制到项目里,调试下,发现没问题就直接用了,毕竟谷歌结果第一名,放心。

    这段代码跑了几个月一直没问题,但是到了2020-1-1日那天,有玩家反馈收到了几百封奖励邮件,高兴坏了,但是出于对游戏的热爱,还是通知了运营人员。

    运营把BUG反馈到服务器这边后我开始排查,百思不得其解的是最近几天都没有更新服务器, 而前几天服务器都稳稳地,怎么突然就出BUG了呢。

    接下来就是分析玩家数据,结合代码逻辑确定问题所在,最终根据BUG的表现排除了所有可能性后,发现唯一可能出问题的地方就是那个网上复制过来的计算天数差的函数。

    根据调试发现,这个函数在两个日期参数是不同的年份并且第一个日期大于第二个日期的时候,会返回一个错误的结果

    比如:

    differentDays("2020-1-1","2019-12-25")

    理论上这么调用正确的结果是 -7,但是因为函数有BUG,调用结果是 358

    于是本来不用发奖励,因为这种特殊情况一下子发出去358份,严重影响了游戏某类道具的平衡性。

    至于补救方式就是统计名单,把发出去但还没有用掉的道具回收,用掉的就当福利,然后再发公告道歉,再送些其他物品弥补。

    也幸好补救的及时,要是这些道具收不回来,游戏运营的策略都要大变了,我特么肯定没好果子吃了。

    所以千万别在网上复制来路不明的代码乱用,如果真的要用,必须反复测试,否则哪一天突然暴雷有你受的。

    改用Java8的日期库修复了BUG

    public static int differentDays(Date date1, Date date2) {    if (date1 == null || date2 == null) {        throw new RuntimeException("日期不能为空");    }    LocalDate localDate1 = date2LocalDate(date1);    LocalDate localDate2 = date2LocalDate(date2);    return Generic.long2int(localDate1.until(localDate2, ChronoUnit.DAYS));}public static LocalDate date2LocalDate(Date date) {    Instant instant = date.toInstant();    ZoneId zoneId = ZoneId.systemDefault();    LocalDate localDate = instant.atZone(zoneId).toLocalDate();    return localDate;}

    今日干货

    ef191f1d3665b886f83315189e3fc17e.png刚刚发表查看:66666回复:666

    公众号后台回复 ssm,免费获取松哥纯手敲的 SSM 框架学习干货。

    好文章,我“在看”7f435146ea0235d66ce87013ebae914a.gif
    展开全文
  • 作者:陈宏鸿 https://www.cnblogs.com/aspwebchh/p/12220673.html碰到一个需求,给服某些要求的玩家的发送道具奖励,奖励的数量根据离线的天数计算。这个需求实现起来很简单,只需要在玩家上线的时候计算上次离线...
    27bcfa9c2f1b4371f6083345b5d91087.png

    作者:陈宏鸿 https://www.cnblogs.com/aspwebchh/p/12220673.html

    碰到一个需求,给服某些要求的玩家的发送道具奖励,奖励的数量根据离线的天数计算。

    这个需求实现起来很简单,只需要在玩家上线的时候计算上次离线时间和当前时间间隔的天数,然后根据策划的算法,计算出道具种类与数量,发一封邮件给玩家就可以了。

    计算两个时间间隔天数的函数没有现成的,自己又懒得写,就上谷歌搜了下,选了第一条结果,代码如下

    public static int differentDays(Date date1,Date date2)    {        Calendar cal1 = Calendar.getInstance();        cal1.setTime(date1);        Calendar cal2 = Calendar.getInstance();        cal2.setTime(date2);       int day1= cal1.get(Calendar.DAY_OF_YEAR);        int day2 = cal2.get(Calendar.DAY_OF_YEAR);        int year1 = cal1.get(Calendar.YEAR);        int year2 = cal2.get(Calendar.YEAR);        if(year1 != year2)   //同一年        {            int timeDistance = 0 ;            for(int i = year1 ; i 

    代码来源:https://www.cnblogs.com/0201zcr/p/5000977.html

    把代码复制到项目里,调试下,发现没问题就直接用了,毕竟谷歌结果第一名,放心。

    这段代码跑了几个月一直没问题,但是到了2020-1-1日那天,有玩家反馈收到了几百封奖励邮件,高兴坏了,但是出于对游戏的热爱,还是通知了运营人员。

    运营把bug反馈到服务器这边后我开始排查,百思不得其解的是最近几天都没有更新服务器, 而前几天服务器都稳稳地,怎么突然就出BUG了呢。

    接下来就是分析玩家数据,结合代码逻辑确定问题所在,最终根据BUG的表现排除了所有可能性后,发现唯一可能出问题的地方就是那个网上复制过来的计算天数差的函数。

    根据调试发现,这个函数在两个日期参数是不同的年份并且第一个日期大于第二个日期的时候,会返回一个错误的结果

    比如

    differentDays("2020-1-1","2019-12-25")

    理论上这么调用正确的结果是 -7,但是因为函数有bug,调用结果是 358

    于是本来不用发奖励,因为这种特殊情况一下子发出去358份,严重影响了游戏某类道具的平衡性。

    至于补救方式就是统计名单,把发出去但还没有用掉的道具回收,用掉的就当福利,然后再发公告道歉,再送些其他物品弥补。

    也幸好补救的及时,要是这些道具收不回来,游戏运营的策略都要大变了,我特么肯定没好果子吃了。

    所以千万别在网上复制来路不明的代码乱用,如果真的要用,必须反复测试,否则哪一天突然暴雷有你受的。

    改用Java8的日期库修复了BUG

        public static int differentDays(Date date1, Date date2) {        if (date1 == null || date2 == null) {            throw new RuntimeException("日期不能为空");        }        LocalDate localDate1 = date2LocalDate(date1);        LocalDate localDate2 = date2LocalDate(date2);        return Generic.long2int(localDate1.until(localDate2, ChronoUnit.DAYS));    }    public static LocalDate date2LocalDate(Date date) {        Instant instant = date.toInstant();        ZoneId zoneId = ZoneId.systemDefault();        LocalDate localDate = instant.atZone(zoneId).toLocalDate();        return localDate;    }
    展开全文
  • 效果图:Loading加载缩放动画特效HTML代码:CSS代码: .tui-demo-5 { width: 100px; height: 100px; margin: 50px auto; display: flex; flex-wrap: wrap; justify-content: space-between; } .tu...

    大家好,本篇文章分享经典Loading加载缩放动画特效,欢迎参考和指正。

    效果图:

    f7c1e36592c49c72273877b828628877.gif

    Loading加载缩放动画特效

    HTML代码:

    CSS代码:

    知识点:

    animation:是CSS3的动画属性,这里把animation绑定到tui-demo-5元素上,并指定该动画需要0.4秒完成,infinite则表示无限次播放该动画,alternate则表示动画会在奇数次数正常播放,而在偶数次数向后播放,animation-delay则表示动画在启动前的延迟间隔。

    @keyframes:该规则表示动画可以逐步从一个CSS样式改变为另一个CSS样式。这里0%是动画开头,100%是动画结束。

    transform:该属性应用于2D元素或3D元素的转换,允许元素发生旋转,缩放,移动,倾斜等效果。scale定义2D缩放,可以配置缩放大小。opacity定义元素的不透明级别。

    最后注意下浏览器兼容问题,-webkit-,-ms-或-moz-,有问题可以留言,大家一起学习HTML+CSS基础入门开发。

    展开全文
  • <pre id="aa"></pre> <div style="display:none" id="w">1,2,3,4,5,6,7 显示2" onclick="type1()" /> ... var word=document.getElementById("w")....转载于:https://www.cnblogs.com/zkzkzk/p/7975239.html
  • demo1: <!DOCTYPE html> <html> ...div内容间隔1秒动态滚动</title> </head> <body>  <div id="demo">  <span id="sp">  ...
  • 兼容IE和FireFox的间隔滚动代码,使用时注意把滚动内容放在div id="scrollmessage"里面,复制此代码到空白html文档中,在firefox/ie/opear上测试!本代码支持滚动速度调节, 数值越小, 速度越快;另外滚动的模式也是...
  • 符合WEB标准的文字间隔滚动JS代码 [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]第二个firefox下运行有些问题。但学习js的朋友可以看下主要是看思路。 JS文字间隔性滚动代码_适合做公告 packer_至强的...
  • JS无间隔文字滚动代码(三种效果)

    千次阅读 2012-03-23 00:47:05
    * JS无间隔文字滚动代码(三种效果) * http://www.cnblogs.com/missthe/archive/2008/09/26/1299533.html * marquee var marquee = new ScrollText("listmarquee"); marquee.LineHeight = 60; marquee.Amount...
  • DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><met...
  • html文字滚动代码 <marquee style="WIDTH: 388px; HEIGHT: 200px" scrollamount="2" direction="up" > <div align="left" ><br /> </div > <center ><font face="黑体" ...
  • 前端html笔记代码

    2020-05-27 21:29:31
    禁止用户拖拽图片 ondargstart="return false" 设置文本间隔 letter-spacing
  • 如果是直接敲入多个空格键的话,虽然看似代码中有了多个空格效果,但其实在浏览器中还是只有1个空格间隔位置的。接下来教大家如果输入html空格字符的话,多个空格字符是如何输入的?我们采用直...
  • 如果是直接敲入多个空格键的话,虽然看似代码中有了多个空格效果,但其实在浏览器中还是只有1个空格间隔位置的。接下来教大家如果输入html空格字符的话,多个空格字符是如何输入的?我们采用直接复制空格...
  • 如果是直接敲入多个空格键的话,虽然看似代码中有了多个空格效果,但其实在浏览器中还是只有1个空格间隔位置的。接下来教大家如果输入html空格字符的话,多个空格字符是如何输入的?我们采用直接复制空格...
  • 如果是直接敲入多个空格键的话,虽然看似代码中有了多个空格效果,但其实在浏览器中还是只有1个空格间隔位置的。 接下来教大家如果输入html空格字符的话,多个空格字符是如何输入的?我们采用直接复制空格字符与DW...
  • Html提交表单数据,刷新间隔出现412

    千次阅读 2018-03-13 20:00:40
    Html提交表单数据,刷新间隔出现412在学习SpringMVC的过程中出现了如下的问题(IE正常,chrome出现这种情况):页面index.html代码:&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &...
  • 如果是直接敲入多个空格键的话,虽然看似代码中有了多个空格效果,但其实在浏览器中还是只有1个空格间隔位置的。接下来教大家如果输入html空格字符的话,多个空格字符是如何输入的?我们采用直...
  • 如果是直接敲入多个空格键的话,虽然看似代码中有了多个空格效果,但其实在浏览器中还是只有1个空格间隔位置的。 接下来教大家如果输入html空格字符的话,多个空格字符是如何输入的?我们采用直接复制空格字符与DW...
  • 程序猿的生活:打造全网web前端全栈资料库(总目录)看完学的更快,掌握的更加牢固,你值得拥有(持续更新)​zhuanlan.zhihu.com首先,我们知道这HTML网页中插入多个空格间隔是需要特殊字符编码的。如果是直接敲入...
  • 零基础学HTML CSS源代码

    热门讨论 2010-05-10 07:57:26
    间距与间隔.html 属性间距与间隔用法。 设置行距.html 属性设置行距用法。 字体大小.html 属性字体大小用法。 字体类型.html 属性字体类型用法。 字体设置.html 属性字体设置。 字体...
  • html向上无间隔滚动文字(图片)

    千次阅读 2015-08-19 10:08:01
    具体代码如下: 向上无间隔滑动 window.onload = function() { var speed=30; var b=document.getElementById("b"); var a=document.getElementById("a"); var roll=document.getElementById

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 751
精华内容 300
关键字:

html间隔代码