不知道从什么时候开始,国内开始启用了HTTPS协议,更是犹如雨后春笋般的出现在各个网站之中,无论是个人站还是企业站还是电商网站,似乎不使用https协议网站就不高大上了。当然我的博客也加入了https协议的大军之中,其中涉及到了很多的问题,比如百度分享不支持https协议,然后就必须得找到“百度分享支持https的图文教程”还有就是关于HTTPS协议(安全加密)是否会影响搜索收录和排名的因素。早在之前谷歌宣布已调整搜索引擎算法,将是否使用HTTPS协议(安全加密)纳入搜索排名的参考因素中。这是否意味着站长们应该把网站协议转换成HTTPS呢?实际上,这也许只是一个安全性的问题,与谷歌排名并无实质关联也不无可能。HTTPS协议如何影响网站排名?几年前,在谷歌宣布将网站加载速度作为网站排名的一个参考因素后。站长们纷纷响应号召,花尽心思提高自己网站的价值速度。对于用户来说,加载速度自是越快越好,因而对此亦是喜闻乐见。当时,谷歌官方称“如果两个网站的各方面质量不相上下的话,网站加载速度更快的网站,将会获得更好的排名。”毕竟是有利于用户的访问体验,因而也算是一种搜索引擎的改良!同理,鼓励站长们把HTTP转换为HTTPS协议也应该算是一种改进吧!就目前而言,使用HTTPS协议的网站仍未少数。因而若是使用HTTPS协议的网站似乎在搜索排名上真的占有很大的优势。无关搜索排名,仅是安全性问题目前来看,谷歌似乎已将实现“HTTPSeverywhere”当成了一个目标。实际上,采用HTTPS协议确实可以让网站的安全性大大提高,但是HTTPS协议所针对的加密范围较为有限,在黑客攻击、拒绝服务攻击、服务器劫持等方面却起不到什么作用。从一定程度上来讲,HTTPS主要是用在银行、电商网站、以及社交网络等涉及用户隐私的网站上。而对于那些不要求用户登录的网站,使用HTTPS协议实属多此一举。所以,从这个角度来看,谷歌将“是否使用HTTPS协议”作为一个排名参考因素似乎另有目的呐。据国外分析师表示:谷歌之所以做出这一举动并非为了提高搜索质量,其主要目的是为了挽回在“棱镜门”丑闻中的“损失”。这是一个典型的打着“牺牲小我”旗号的利我之举。高举“安全影响排名”旗帜、高呼“HTTPSeverywhere”口号,便可不费吹灰之力让广大站长们纷纷转向HTTPS协议。那么,站长们该怎么做呢?到底该不该采用HTTPS协议呢?如果也有这个疑问的话,就想想怎样做对你的用户更友好吧!如果你的网站属于电子商务、金融、社交网络等领域的话,那最好是采用HTTPS协议;反之,如果是博客、宣传类网站、分类信息网站、y亦或者是个人博客网站的话,大可不必跟风而行。你要知道,使用HTTPS协议既耗钱,又浪费精力,甚至在一定程度上不利于用户的浏览体验。本站启用https协议之后已经很后悔了,到现在亦不敢轻易的取消了,切记,三思而后行啊!总而言之,切勿为了收录或者排名而盲目跟风,百度也曾经发表过有限收录HTTPS类型的网站,但是也仅仅针对有流量的网站,网站优化的首要目标是用户,用户喜欢,好排名就不会那么难了,也就不用在意这些所谓的安全协议,也许对于个人博客网站而言就是事倍功半啊!
作为UI设计师来说,都是一群细节猎人,以像素级的细节刻画着每一个需求。日常的体验积累也总能发现那些优秀的设计解决方案,以此来强化自己的设计认知,提高设计思维和变通能力。定期体验产品,记录优秀的设计解决方案和反思设计背后的思路,有助于提高专业层面的综合能力。黑马哥也会定期为大家带来个人的体验总结,希望可以带给大家更多帮助。本期给大家带来的感官体验内容涉及手势交互、功能区延伸设计、情感化设计、微动效、悬浮动效设计等等。利用手势交互实现自动跳转随着手势交互的不断成熟,被普遍的应用到产品设计中。利用手势的辅助可以缩短用户的操作路径,通过不断优化用户的学习成本,带给用户更加便利的操作体验。通过指向按钮的引导可以让用户抵达需求目的,需要用户进行点击操作。针对横向滑动的交互输出中,在连贯的滑动操作中配合手势交互,随着滑动力度的不同可以实现自动跳转。比如开言英语APP课程模块中,针对推荐的课程卡片在向左滑动过程中,随着滑动的程度提示“查看更多”和“释放查看”,实现详情内容的自动跳转。对于需要查看更多推荐内容的用户来说,减少了二次点击的步骤,提高了操作的便捷度和使用效率。手势交互带来的切歌体验手势交互能够带给用户使用的便捷度,不过目前很多产品的手势玩法都还有待用户去挖掘。功能层面是否“暗藏玄机”需要用户的深度体验,如果可以培养用户的使用习惯,带来的便捷度和体验度都会进一步提升。在QQ音乐主页底部标签栏上方会浮层展示播放器,方便用户操作正在播放的歌曲。可以通过左右滑动的手势进行切歌体验,对于盲选歌曲来说非常便利。在不改变当前布局结构的基础上新增功能操作,手势交互是不错的选择,这个隐藏的手势体验你是否注意到呢?拖动进度条实时预览画面从短视频到长视频,内容量的丰富可以满足用户的观看需求,针对长视频来说进度的设计可以便于用户选取感兴趣的部分。抖音的进度条设计也在不断的探索新的体验,最近更新的版本中在拖动进度条时,会隐藏其他附属的功能,让界面显得更加简洁。拖动进度条时也会实时预览显示视频画面,辅助用户进行精准的内容确定,提高用户的操作效率。底部功能区的延伸设计底部功能区是手势操作的最佳区域,近些年越来越多的产品对该区域进行延伸设计,满足更多功能曝光的目的。百度翻译APP在底部标签栏上方延伸了一个功能区,初次进入时呈现隐藏式设计,单击或者上滑展开全部。延伸功能区为用户提供了更多常用功能,便于进行频繁操作,提升用户的操作体验和效率。情感化的功能引导设计初次使用一个产品时,针对一些重点功能都会进行引导设计,以此来提高功能的曝光度,降低用户的学习成本。百度翻译APP通过情感化的IP形象进行功能引导,可爱的形象趴在功能区上,趣味性十足。情感化设计的融入相较于普通的文字浮层,更能吸引用户的关注度。推荐模块的轮播翻页设计推荐模块在产品设计中较为普遍,也呈现了各式各样的设计解决方案,结合自身的内容属性进行设计,是体现差异化设计的关键。最近在喜马拉雅APP播客栏目发现了不一样的设计表达,通过专辑封面形式结合辅助解释来设计。不仅结合了自身内容属性,也能在强化视觉感的同时利用文案辅助让解释更加清楚。通过手势滑动进行翻页切换,动态效果也是非常的流畅自然。提高图文布局视野感的设计在针对新闻、资讯、热点等内容进行布局时,通常有左图右文、左文右图、纯文字布局、轮播图等形式。设计表达考虑了阅读引导和版面利用率,如果需要突出视觉感时,如何进行设计发挥呢?最近在芒果TVAPP首页的看点专栏发现了一个感官体验不错的设计,将文字信息以卡片式进行布局,以大图作为背景来衬托卡片。滑动时也会有进度条式的控件提示,整体的视野感更强,更能吸引用户的关注度。微动效增强签到设计的关注度签到的存在是为了提高用户粘性,通过签到获得积分,兑换礼品或者升级功能服务等权益。提高签到的曝光度才能吸引用户参与,进而达到需求目的。除了在签到设计的视觉感上面进行强化以外,微动效的表达也是非常不错的选择。快看APP就将代表签到的图标通过动效来强化,也能吸引到用户的关注,提高签到的点击率和参与度。辅助图形强化品牌感立足于品牌做设计,无论是那个方向的设计都需要从品牌的角度进行思考,特别是UI设计。通过辅助图形强化品牌感是一个方向,逐步被设计师加以运用。比如考拉海购APP在多个局部区域融入了辅助图形进行强化,将辅助图形作为背景使用。辅助图形结合到UI场景中,是UI设计师后期需要逐步探索的方向。悬浮动效式空状态设计空状态代表无数据状态设计,通常形式有纯文案提示、图形加文案提示、情感化插画融入、IP形象结合、动效表达形式等。在体验的众多案例中,动效形式的表达相对较少,不过感官度也是不错的。在COVESAPP中,采用动效式空状态设计来表达无数据状态。在局部的模块还使用了悬浮动效式表达,无论是视觉感还是吸引力都呈现出不错的效果。不仅吸引用户的关注度,也融合了产品的设计风格,是一个不错的设计解决方案。小结每一次的体验、分析、总结都能吸收新的思路和灵感,有助于我们提高设计的灵活性和解决需求的效率。希望本期的整理可以带给你更多帮助,我们互相进步。
对CSS布局掌握程度决定你在Web开发中的开发页面速度。随着Web技术的不断革新,实现各种布局的方式已经多得数不胜数了。本篇文章总结了四十二种CSS的常见布局,这四十二种布局可以细分为如下几类:水平居中垂直居中水平垂直居中两列布局三列布局等分布局StickyFooter布局全屏布局这些内容也正是本篇文章的目录。水平居中实现水平布局比较简单,方法也比较多,这里总结了7种常用的布局方法,其公共的CSS代码如下所示:.parent{background:#ff8787;}.child{height:300px;width:300px;background:#e599f7;}其HTML结构也是固定的,就是一个父级,其宽度继承了的宽度,还有一个子级,这里是固定的300px*300px,代码如下:div>div>最终的实现效果如下:上图中玫瑰色的块是父级,随页面宽度增加的;淡紫色是子级,相对于父级居中的。1.使用text-align属性若元素为行内块级元素,也就是display:inline-block的元素,可以通过为其父元素设置text-align:center实现水平居中。实现的CSS代码如下:.parent{/*对于子级为display:inline-block;可以通过text-align:center;实现水平居中*/text-align:center;}.child{display:inline-block;}2.定宽块级元素水平居中(方法一)对于定宽的的块级元素实现水平居中,最简单的一种方式就是margin:0auto;,但是值得注意的是一定需要设置宽度。实现CSS代码如下:.child{/*对于定宽的子元素,直接margin:0auto;即可实现水平居中*/margin:0auto;}3.定宽块级元素水平居中(方法二)对于开启定位的元素,可以通过left属性和margin实现。实现CSS代码如下:.child{/*开启定位*/position:relative;left:50%;/*margin-left为负的宽度的一半*/margin-left:-150px;}4.定宽块级元素水平居中(方法三)当元素开启决定定位或者固定定位时,left属性和right属性一起设置就会拉伸元素的宽度,在配合width属性与margin属性就可以实现水平居中。实现CSS代码如下:.parent{position:relative;height:300px;}.child{/*开启定位父相子绝*/position:absolute;/*水平拉满屏幕*/left:0;right:0;width:300px;/*拉满屏幕之后设置宽度,最后通过margin实现水平居中*/margin:auto;}5.定宽块级元素水平居中(方法四)当元素开启决定定位或者固定定位时,left属性和transform属性即可实现水平居中。实现CSS代码如下:.parent{position:relative;}.child{/*开启定位*/position:absolute;/*该方法类似于left于-margin的用法,但是该方法不需要手动计算宽度。*/left:50%;transform:translateX(-50%);}6.Flex方案通过Flex可以有很多方式实现这个居中布局的效果。实现CSS代码如下.parent{height:300px;/*开启Flex布局*/display:flex;/*通过justify-content属性实现居中*/justify-content:center;}.child{/*或者子元素margin:auto*/margin:auto;}7.Grid方案通过Grid实现居中布局比通过Flex实现的方式更多一些。实现CSS代码如下:.parent{height:300px;/*开启Grid布局*/display:grid;/*方法一*/justify-items:center;/*方法二*/justify-content:center;}.child{/*方法三子元素margin:auto*/margin:auto;}以上就是水平居中布局常用的几种方式。垂直居中实现垂直布局也是比较简单的,方法也比较多,这里总结了6种常用的布局方法,其公共的CSS代码如下所示:.parent{height:500px;width:300px;margin:0auto;background-color:#ff8787;}.child{width:300px;height:300px;background-color:#91a7ff;}其HTML结构也是固定的,就是一个父级包裹一个子级,这里的子级是固定的300px*300px,代码如下:div>div>最终的实现效果如下:1.行内块级元素垂直居中若元素是行内块级元素,基本思想是子元素使用display:inline-block,vertical-align:middle;并让父元素行高等同于高度。实现CSS代码如下:.parent{/*为父级容器设置行高*/line-height:500px;}.child{/*将子级元素设置为inline-block元素*/display:inline-block;/*通过vertical-align:middle;实现居中*/vertical-align:middle;}2.定位方式实现(方法一)第一种通过定位的方式实现就比较简单,实际就是通过top:50%;margin-top:等于负的高度的一半就可以实现垂直居中。实现CSS代码如下:.parent{/*为父级容器开启相对定位*/position:relative;}.child{position:absolute;top:50%;/*margin-top:等于负高度的一半*/margin-top:-150px;}3.定位方式实现(方法二)第二种通过定位的方式实现实现思路:top和bottom将子元素拉伸至100%,设置指定的高度,通过margin:auto;即可实现垂直居中。实现CSS代码如下:.parent{/*为父级容器开启相对定位*/position:relative;}.child{height:300px;position:absolute;/*垂直拉满*/top:0;bottom:0;/*margin:auto即可实现*/margin:auto;}4.定位方式实现(方法三)第三种通过定位的方式就比较灵活,适用于多种场合,使用top配合tansform即可。实现CSS代码如下:.parent{/*为父级容器开启相对定位*/position:relative;}.child{position:absolute;top:50%;transform:translateY(-50%);}5.Flex方案通过Flex可以有很多方式实现这个垂直居中布局的效果。实现CSS代码如下:.parent{/*开启flex布局*/display:flex;/*方法一*//*align-items:center;*/}.child{/*方法二*/margin:auto;}通过Flex布局实现不仅仅只有上面两种,这里只介绍最简单的方式。6.Grid方案通过Grid实现居中布局比通过Flex实现的方式更多一些。实现CSS代码如下:.parent{display:grid;/*方法一*//*align-items:center;*//*方法二*//*align-content:center;*/}.child{/*方法三*//*margin:auto;*//*方法四*/align-self:center;}以上就是垂直居中布局常用的几种方式。水平垂直居中实现水平垂直布局基本就是将上面几种方式结合使用,这里总结了7种常用的布局方法,其公共的CSS代码如下所示:body{margin:0;}.parent{height:500px;width:500px;background-color:#eebefa;margin:0auto;}.child{height:300px;width:300px;background-color:#f783ac;}其HTML结构也是固定的,就是一个父级包裹一个子级,这里的子级是固定的300px*300px,代码如下:div>div>最终的实现效果如下:1.行内块级水平垂直居中方案步骤如下:容器元素行高等于容器高度通过text-align:center;实现水平居中将子级元素设置为水平块级元素通过vertical-align:middle;实现垂直居中实现CSS代码如下:.parent{/*1.设置行高等于容器高度*/line-height:500px;/*通过text-align:center;实现水平居中*/text-align:center;}.child{/*将子级元素设置为水平块级元素*/display:inline-block;/*通过vertical-align:middle;实现垂直居中*/vertical-align:middle;}2.定位实现水平垂直居中方案(一)步骤如下:使子元素相对于容器元素定位子元素开启绝对定位设置该元素的偏移量,值为50%减去宽度/高度的一半实现CSS代码如下:.parent{/*1.使子元素相对于本元素定位*/position:relative;}.child{/*2.开启绝对定位*/position:absolute;/*3.设置该元素的偏移量,值为50%减去宽度/高度的一半*/left:calc(50%-150px);top:calc(50%-150px);}3.定位实现水平垂直居中方案(二)步骤如下:使子元素相对于容器元素定位子元素开启绝对定位设置该元素的偏移量,值为50%通过外边距-值的方式将元素移动回去实现CSS代码如下:.parent{/*1.使子元素相对于本元素定位*/position:relative;}.child{/*2.开启绝对定位*/position:absolute;/*3.设置该元素的偏移量,值为50%*/left:50%;top:50%;margin-left:-150px;margin-top:-150px;}4.定位实现水平垂直居中方案(三)步骤如下:使子元素相对于容器元素定位子元素开启绝对定位将子元素拉满整个容器通过margin:auto实现水平垂直居中实现CSS代码如下:.parent{/*1.使子元素相对于本元素定位*/position:relative;}.child{/*2.开启绝对定位*/position:absolute;/*3.将子元素拉满整个容器*/top:0;left:0;right:0;bottom:0;/*4.通过margin:auto实现水平垂直居中*/margin:auto;}5.定位实现水平垂直居中方案(四)步骤如下:使子元素相对于容器元素定位子元素开启绝对定位设置该元素的偏移量,值为50%通过translate反向偏移的方式,实现居中实现CSS代码如下:.parent{/*1.使子元素相对于本元素定位*/position:relative;}.child{/*2.开启绝对定位*/position:absolute;/*3.设置该元素的偏移量,值为50%*/left:50%;top:50%;/*通过translate反向偏移的方式,实现居中*/transform:translate(-50%,-50%);}6.Flex方案步骤如下:将元素设置为Flex布局通过justify-content:center以及align-items:center实现或者margin:auto;实现。实现CSS代码如下:.parent{/*1.将元素设置为Flex布局*/display:flex;/*2.通过justify-content以及align-items:center实现*//*justify-content:center;align-items:center;*/}.child{/*或者通过marginauto实现*/margin:auto;}7.Grid方案Grid方案的实现方式相对来说比较简单,方式也较多。实现CSS代码如下:.parent{/*1.元素设置为Grid元素*/display:grid;/*通过items属性实现*//*align-items:center;*//*justify-items:center;*//*items的缩写*//*place-items:center;*//*或者通过content属性*//*align-content:center;*//*justify-content:center;*//*content的缩写*//*place-content:center;*/}.child{/*或者通过marginauto实现*//*margin:auto;*//*或者通过self属性*//*align-self:center;justify-self:center;*//*self的缩写*/place-self:center;}实现水平垂直居中布局的方式大多是通过上面两种布局的方式相结合。两列布局所谓的两列布局就是一列定宽(也有可能由子元素决定宽度),一列自适应的布局。最终效果如下所示:这里用到的HTML结构如下:定宽div>自适应div>div>公共的CSS代码如下:body{margin:0;}.container{height:400px;background-color:#eebefa;}.left{height:400px;width:200px;background-color:#f783ac;font-size:70px;line-height:400px;text-align:center;}.right{height:400px;background-color:#c0eb75;font-size:70px;line-height:400px;}/*清除浮动*/.clearfix:after{content:'';display:block;height:0;clear:both;visibility:hidden;}1.float+calc()函数完成左列定宽右列自适应步骤如下:左边列开启浮动右边列开启浮动右边列宽度为父级100%减去左列的宽度实现CSS代码如下:.left{/*左边列开启浮动*/float:left;}.right{/*右边列开启浮动*/float:left;/*宽度减去左列的宽度*/width:calc(100%-200px);}2.float+margin-left完成左列定宽右列自适应步骤如下:左边列开启浮动通过外边距的方式使该容器的左边有左边列容器的宽度的外边距实现CSS代码如下:.left{/*左边列开启浮动*/float:left;}.right{/*通过外边距的方式使该容器的左边有200px*/margin-left:200px;}3.absolute+margin-left完成左列定宽右列自适应步骤如下:开启定位脱离文档流通过外边距的方式使该容器的左边有左边列容器的宽度的外边距实现CSS代码如下:.left{/*开启定位脱离文档流*/position:absolute;}.right{/*通过外边距的方式使该容器的左边有200px*/margin-left:200px;}值得注意的是以上几种方案左边列必须定宽,才可以实现,下面这几种方案左边列可以由子级撑起。4.float+overflow完成左列定宽右列自适应步骤如下:左侧元素开始浮动右侧自适应元素设置overflow会创建一个BFC完成自适应实现CSS代码如下:.left{/*1.左侧元素开始浮动*/float:left;}.right{/*2.右侧自适应元素设置overflow会创建一个BFC完成自适应*/overflow:hidden;}5.Flex方案通过Flex布局实现该功能主要是通过flex属性来实现示例代码如下:.container{display:flex;}.right{flex:1;/*flex:1;表示flex-grow:1;即该项占所有剩余空间*/}6.Grid方案通过Grid布局实现该功能主要是通过template属性实现,具体代码如下所示:.container{display:grid;/*将其划分为两行,其中一列有本身宽度决定,一列占剩余宽度*/grid-template-columns:auto1fr;}三列布局三列布局主要分为两种:第一种是前两列定宽,最后一列自适应,这一种本质上与两列布局没有什么区别,可以参照两列布局实现。第二种是前后两列定宽,中间自适应,最终效果图如下公共CSS如下:body{margin:0;}.container{height:400px;background-color:#eebefa;}.left{height:400px;width:200px;background-color:#f783ac;}.content{height:400px;background-color:#d9480f;}.right{height:400px;width:200px;background-color:#c0eb75;}.left,.content,.right{font-size:70px;line-height:400px;text-align:center;}/*清除浮动*/.clearfix:after{content:'';display:block;height:0;clear:both;visibility:hidden;}HTML结构如下:左div>内容div>右div>div>1.通过float实现(一)实现步骤:为了完成效果需要调整HTML结构,调整后如下:左div>右div>内容div>div>左列容器开启左浮动右列容器开启右浮动自适应元素设置overflow会创建一个BFC完成自适应实现CSS代码如下.left{/*1.左列容器开启左浮动*/float:left;}.content{/*自适应元素设置overflow会创建一个BFC完成自适应*/overflow:hidden;}.right{/*2.右列容器开启右浮动*/float:right;}2.通过float实现(二)实现步骤:为了完成效果需要调整HTML结构,调整后如下:左div>右div>内容div>div>左列容器开启左浮动右列容器开启右浮动使中间自适应的宽度为父级容器减去两个定宽的列实现CSS代码如下:.left{/*1.左列容器开启左浮动*/float:left;}.content{/*3.使中间自适应的宽度为父级容器减去两个定宽的列*/width:calc(100%-400px);}.right{/*2.右列容器开启右浮动*/float:right;}3.通过position实现实现步骤左右两列脱离文档流,并通过偏移的方式到达自己的区域使中间自适应的宽度为父级容器减去两个定宽的列通过外边距将容器往内缩小实现CSS代码如下:.left{/*1.左右两列脱离文档流,并通过偏移的方式到达自己的区域*/position:absolute;left:0;top:0;}.content{/*2.使中间自适应的宽度为父级容器减去两个定宽的列*/width:calc(100%-400px);/*3.通过外边距将容器往内缩小*/margin-right:200px;margin-left:200px;}.right{position:absolute;right:0;top:0;}4.Flex方案通过Flex布局实现该功能主要是通过flex属性来实现。实现CSS代码如下:.container{display:flex;}.right{flex:1;/*flex:1;表示flex-grow:1;即该项占所有剩余空间*/}5.Grid方案通过Grid布局实现该功能主要是通过template属性实现。实现CSS代码如下:.container{display:grid;/*将其划分为两行,其中一列有本身宽度决定,一列占剩余宽度*/grid-template-columns:auto1frauto;}等分布局等分布局就是将一个容器平均分成几等份,这里以4等分为例,主要介绍4种方法。公共CSS部分如下:body{margin:0;}.container{height:400px;background-color:#eebefa;}.item{height:100%;}.item1{background-color:#eccc68;}.item2{background-color:#a6c1fa;}.item3{background-color:#fa7d90;}.item4{background-color:#b0ff70;}/*清除浮动*/.clearfix:after{content:'';display:block;height:0;clear:both;visibility:hidden;}公共HTML代码如下:div>div>div>div>div>最终的效果如下图所示:1.浮动+百分比方式这种方式比较简单,开启浮动,使每个元素占25%的宽度。实现CSS代码如下:.item{/*开启浮动,每个元素占25%的宽度*/width:25%;float:left;}2.行内块级+百分比方式这种方式与上面那种方式类似,不过需要注意的是行内块级元素有一些类似于边距的几个像素,导致各25%会超出容器。实现CSS代码如下:.item{/*设置每个元素为行内块级元素,每个元素占24.5%的宽度*/width:24.5%;/*因为行内块级元素有一些类似于边距的几个像素,导致各占25会超出容器*/display:inline-block;}3.Flex方案通过Flex布局实现该功能主要是通过flex属性来实现。实现CSS代码如下:.container{/*开启flex布局*/display:flex;}.item{/*每个元素占相同的宽度*/flex:1;}4.Grid方案通过Grid布局实现该功能主要是通过template属性实现。实现CSS代码如下.container{/*开启grid布局*/display:grid;grid-template-columns:repeat(4,1fr);/*使用repeat函数生成如下代码*//*grid-template-columns:1fr1fr1fr1fr;*/}StickyFooter布局所谓的StickyFooter布局并不是一种新的前端技术和概念,它就是一种网页布局。如果页面内容不够长时,底部栏就会固定到浏览器的底部;如果足够长时,底部栏就后跟随在内容的后面。如下图所示:这里来介绍实现该布局的4种方式公共的CSS代码如下:body{margin:0;}.container{height:400px;display:flex;}.left{height:400px;width:200px;background-color:#f759ab;}.content{height:400px;background-color:#52c41a;flex:1;}.right{height:400px;width:200px;background-color:#f759ab;}.left,.content,.right{font-size:70px;line-height:400px;text-align:center;}.header{height:100px;background-color:#70a1ff;}.footer{height:100px;background-color:#ff7a45;}.header,.footer{line-height:100px;font-size:52px;text-align:center;}公共的HTML如下:headerdiv>leftdiv>contentdiv>rightdiv>div>footerdiv>div>1.绝对定位的方式通过绝对定位的方式实现StickyFooter布局的步骤如下:设置最外层容器高度为100%;让子元素元素相对于容器元素进行定位,并设置容器元素最小高度为100%;在中间区域设置padding-bottom为footer的高度;底部栏绝对定位,并一直吸附在底部即可实现。实现CSS代码如下:/*1.设置最外层容器为100%*/html,body{height:100%;}/*2.让子元素元素相对于容器元素进行定位,并设置容器元素最小高度为100%*/.main{position:relative;min-height:100%;}/*3.在中间区域设置padding-bottom为footer的高度*/.container{padding-bottom:100px;}/*由于开启了绝对定位,宽度成了自适应,设置为100%bottom:0始终保持底部*/.footer{position:absolute;width:100%;bottom:0;}2.使用calc函数实现使用calc函数实现的方式会比较简单,中间的容器最少高度为视口宽度的100%-头部和底部两部分的高度即可完成该功能。实现CSS代码如下:.container{/*这里的中间部分的容器最少为视口宽度的100%-头部和底部两部分的高度即可完成该功能*/min-height:calc(100vh-200px);}3.Flex方案实现步骤如下开启flex布局将子元素布局方向修改为垂直排列设置最小高度为当前视口,使不管中间部分有多高,始终都可以保持在底部设置中间部分容器高度为自适应实现CSS代码如下:.main{/*开启flex布局*/display:flex;/*将子元素布局方向修改为垂直排列*/flex-flow:column;/*设置最小高度为当前视口,使不管中间部分有多高,始终都可以保持在底部*/min-height:100vh;}.container{/*设置中间部分自适应*/flex:1;}4.Grid方案实现步骤如下开启grid布局置最小高度为当前视口,使不管中间部分有多高,始终都可以保持在底部实现CSS代码如下:.main{/*开启grid布局*/display:grid;grid-template-rows:auto1frauto;/*设置最小高度为当前视口,使不管中间部分有多高,始终都可以保持在底部*/min-height:100vh;}全屏布局全部布局主要应用在后台,主要效果如下所示:这里介绍三种全屏布局的实现方法。公共的CSS代码如下:body{margin:0;}body,html,.container{height:100vh;box-sizing:border-box;text-align:center;overflow:hidden;}.content{background-color:#52c41a;/**中间部门的布局可以参考两列三列布局*/display:grid;grid-template-columns:auto1fr;}.left{width:240px;background-color:#52c41a;font-size:80px;line-height:calc(100vh-200px);}.right{background-color:#f759ab;font-size:60px;}.header{height:100px;background-color:#70a1ff;}.footer{height:100px;background-color:#ff7a45;}.header,.footer{line-height:100px;font-size:52px;}HTML结构如下:headerdiv>导航div>自适应,超出高度出现滚动条div>div>div>footerdiv>div>1.使用calc函数实现实现步骤如下:通过calc函数计算出中间容器的高度。中间出现滚动条的容器设置overflow:auto即出现滚动条的时候出现滚动条。实现CSS代码如下:.content{overflow:hidden;/*通过calc计算容器的高度*/height:calc(100vh-200px);}.left{height:100%;}.right{/*如果超出出现滚动条*/overflow:auto;height:100%;}.right-in{/*假设容器内有500px的元素*/height:500px;}2.Flex方案使用Flex方式实现该布局比较简单。实现CSS代码如下.container{/*开启flex布局*/display:flex;/*将子元素布局方向修改为垂直排列*/flex-flow:column;}.content{/*如果超出出现滚动条*/overflow:auto;/*设置中间部分自适应*/flex:1;}.right-in{/*假设容器内有500px的元素*/height:500px;}3.Grid方案grid布局对于这种布局来说,实现起来是非常得心应手的,通过template属性即可实现。实现CSS代码如下.container{/*开启grid布局*/display:grid;grid-template-rows:auto1frauto;}.content{/*如果超出出现滚动条*/overflow:auto;}.right-in{/*假设容器内有500px的元素*/height:500px;}
现在很多站长都喜欢搭建一个自己的个人博客网站,无论是为了娱乐还是为了盈利,都没有必要花很多钱来创建个人博客。事实上,你根本不需要花钱,因为有很多完全免费的博客系统可供选择。1.WordPress作为全球最受欢迎的博客平台,WordPress是简洁博客的首选,WordPress实际上有两个迭代.org和.com。我们在这里谈到的WordPress.com代表了基于浏览器的网站建设平台,它既有免费也有付费选项;同时,WordPress.org(下面讨论)代表了基于WordPress.com的永远免费开源软件,如果您正在寻找一个易于点击发布的WYSIWYG编辑器,则WordPress.com可能适合您。免费版的WordPress.com是一个简单的平台,主题有限,没有自定义选项,也没有插件。您也无法在免费的WordPress.com网站上投放广告;但从好的方面来说,您不必对您的网站进行任何维护。WordPress.com是简洁博主的首选。2.ZblogZ-Blog和Z-BlogPHP,既是博客程序,也是CMS建站系统,Z-Blog有着强大的可定制性、丰富的插件接口和独立的主题模板,致力于给国内用户提供优秀的写作体验,Z-Blog与wordpress是国内使用量最多的两个个人博客系统,如卢松松的博客就是使用了Z-Blog。3.BloggerBlogger是Google拥有的平台,无需任何技术技能即可使用。像WordPress.com一样,它简洁易用。同时也有许多内置工具,称为小部件,其中许多是直接与Blogger集成的GoogleApps。与WordPress相比,Blogger具有更少的功能,模板和扩展来增强网站设计。4.MediumMedium的标语“Everyone的故事和想法”反映出这个博客系统是为每个人创建的。它由Twitter的创建者开发的,旨在与博客一样低维护。5.GhostPro对于那些寻求挑战的人来说,GhostPro是一个需要一些技术背景的博客软件。HTML和CSS的知识是必须的,因为编辑发生在提供实时文本到HTML转换的分屏界面(Markdown编辑器)中。6.JekyllJekyll是一种不同风格的博客系统,也适用于更倾向于技术的博主。与在公司服务器上运行的WordPress或Ghost等站点不同,Jekyll是一个静态站点生成器。这意味着您可以使用计算机上的静态文件通过Jekyll生成博客,包括配置文件,模板以及单个帖子的Markdown或HTML。7.b2evolutionb2evolution是一个以博客为中心的软件。它具有许多与CMS类似的功能,但只有那些在创建博客时有用的功能–例如WYSIWYG编辑器,图像大小调整,拼写检查,管理功能和样式向导。8.ViddlerViddler历来被称为托管和呈现视频的全功能工具。然而,该公司已将该网站重新命名为面向专业培训的互动视频平台。它专注于为企业提供一种媒介,培训销售员工的教学视频,并让员工磨练自己的技能。9.Joomla作为一个强大的CMS,Joomla总体上可以为博主提供很多东西。视频可以嵌入博客文章中,也可以使用扩展名添加。在Joomla中创建博客就像在Joomla网站上创建一个名为“博客”的部分并添加内容一样简单。为了使事情更容易,Joomla托管计划经常为Joomla平台提供一键式安装。10.DrupalDrupal是一种流行的CMS,可以通过启用Blog模块灵活地用于博客。在Drupal中使用内容框使其成为显示视频和视频缩略图的理想选择,同时还包括其他类型的内容。视频嵌入字段可用于嵌入来自YouTube等托管网站的视频文件。或者,视频博客可以使用视频模块以任何格式上传和播放视频。许多人选择Drupal来创建他们的网站,因为它看起来无限可能使用CSS和HTML进行主题定制。
中医认为,痰湿体质人群患脂肪肝的比例更高。痰湿体质一般表现有体形肥胖,腹部肥满松软,面部皮肤油脂较多,多汗且黏,胸闷、痰多,面色淡黄而暗,眼泡微浮,轻易困乏,平素舌体胖大,舌苔白腻或甜,身重不爽,喜食肥甘甜黏,大便正常或不实,小便未几或微混。……
中风是怎么引起的!近年来,脑中风疾病逐年呈上升的趋势,给人们的健康带来了很大的威胁,了解脑中风的病因对脑中风的治疗和预防都有着很大的帮助,那么中风是怎么引起的呢?下面我们就来了解一下吧!……
脑梗塞的疾病在生活中很常见,腔隙性脑梗塞就是属于其中的一种。脑梗塞对于人体的伤害极大,因此了解其症状表现也是有助于治疗的。下面,我们就来了解下患上腔隙性脑梗塞的症状表现是怎样的吧。……
胎儿是母亲的心肝,若胎儿突然死亡,母亲会非常痛苦。胎儿畸形、过期妊娠、高血压、糖尿病、产前出血、胎盘脱落都是胎儿死亡的重要元凶。胎儿死亡时,母亲会强烈地感觉到胎儿停止运动,子宫体扩大,腹部不适,阴道流血。胎儿在子宫体内死亡被称为死胎。死胎是怎么回事,下面为大家介绍一下。……
寒冷天气下入眠,不少人宁愿憋尿,也不想半夜起来排尿。但其实这样会引起前列腺充血,导致前列腺炎的发生。长期以往下去,严重可引起急性尿潴留,甚至是尿毒症。……