精华内容
下载资源
问答
  • 因为当初也是参考了其他人分享的知识,从一个vue小白变成了一个入门级选手,并最终完成了这个个人博客的搭建工作,代码已托管在Github-justJokee。线上访问请戳mapblog小站,所以现在有必要分享一下这个博客所用到...
        

    这篇文章搁置了很长时间,最终决定还是把它写出来,给刚开始学习vue并且想用vue写个人博客的同学一个参考。因为当初我也是参考了其他人分享的知识,从一个vue小白变成了一个入门级选手,并最终完成了这个个人博客的搭建工作,代码已托管在Github-justJokee。线上访问请戳mapblog小站,所以现在有必要分享一下这个博客所用到的相关技术及实现的功能,希望能帮助有需要的同学^_^。
    博客前台采用vue-ssr进行服务端渲染(解决vue前端渲染的seo问题),后台管理采用vue进行传统前端渲染。服务端渲染可参考博客前台代码front,前台渲染可参考博客的后台管理代码admin。后端主要使用nodejs的框架express,数据库采用mongodb。后台管理登录采用jsonwebtoken与后端进行登陆状态的确认。空间买的腾讯云,1M网速,学生套餐虽然便宜点,龟速也是够伤的。整站主要采用的技术栈如下所示:
    前端:

    • vue、vue-ssr
    • vue-router
    • vuex
    • vue-meta
    • axios
    • webpack

    后端:

    • nodejs
    • express
    • mongodb
    • mongoose
    • jsonwebtoken
    • pm2
    • webpack

    项目的主目录:

    │  .gitignore
    │  README.md
    │
    ├─admin  后台管理(前台渲染)
    └─front  前台页面(vue-ssr服务端渲染)

    主目录说明:

    • front 下所起的express服务是整个站点的服务器,负责前后台的数据交互、前台页面直出等。当然它也负责前台的开发模式热更新,通过NODE_ENV控制
    • admin 下所起的服务仅供开发时的热更新和http请求转发,数据交互依靠上面所说的的front下所起的express服务器

    博客前台主要实现功能:

    • 全局响应式
    • 文章

      • 按标签分类展示(大于10篇分页)
      • 按时间归档(大于10篇分页)
      • 第三方分享
      • 评论
      • 站内搜索(大于10篇分页)
    • 留言(大于10条分页)
    • 所有标签展示
    • 推荐阅读浏览量前五的文章
    • 支持QQ、Github第三方登录

    博客的后台管理主要实现功能:

    • 全局响应式
    • 站内文章搜索

      • 关键字搜索
      • 时间范围搜索
    • 已发表文章管理

      • 显示所有文章
      • 按标签分类展示
      • 实现删除、修改、预览功能
    • 草稿箱

      • 实现删除、修改、预览功能
    • 留言管理

      • 实现预览、删除留言功能
      • 管理员回复
    • 评论管理

      • 实现预览、删除评论功能
      • 管理员回复
    • 新消息

      • 对访客的评论、留言、赞的文章以及访问的哪一篇文章进行收集分类展示
    • 文本编辑器 ---Ueditor

      • 文章发表、修改
    • 账户设置

      • 密码修改
      • 数据库备份及下载备份文件到本地
    • 退出管理系统
    • 文章、评论、留言的数量大于10时分页显示

    后台管理界面相关截图:

    登录界面

    图片描述

    文章管理

    图片描述

    留言管理(与评论管理基本类似)

    图片描述

    新消息

    图片描述

    编辑器

    图片描述

    账户设置

    图片描述

    相关参考:

    1. vue-ssr官方文档
    2. 基于vue-ssr服务端渲染入门详解
    3. Vue2 SSR 的优化之旅
    4. emoji
    5. nodejs-ueditor插件
      ...

    特此向以上作者们的无私分享精神致谢。

    本文首发于mapblog小站,这是一个积累和分享web知识的个人博客

    展开全文
  • 第一次接触新的知识,难免会遇到挫折和困难,只要有足够的耐心和不断探索的信心,并不断学习和实践,同时有所思考,就会有收获。智能天气小站是一个很好的切入点,同时自己作为一名STM32新手,第一次接触RT-Thread、...
  • 随着学习深入,发现有些知识点不是我能在很短时间内就能掌握和搞懂了。学习笔记更新变缓,但是希望以后每一篇都是更加有质量了吧。-- 2015.02.08 #Too Young Too Simple OC ProgrammingWithObjective-C ...
  • SEO教程网泛滥,问过几个做SEO网站站长,手里有好几个SEO教程网,而且质量参差不齐,大家无法得知教程中某些SEO优化知识是否对网络优化有积极效果。 SEO人员利用自媒体和高权重平台投稿,将一些所谓...

      SEO教程网的泛滥,我问过几个做SEO网站的站长,手里有好几个SEO教程网,而且质量参差不齐,大家无法得知教程中的某些SEO优化知识是否对网络优化有积极的效果。

      SEO人员利用自媒体和高权重平台投稿,将一些所谓的“SEO优化知识”推荐给大家,在某些情况下,这些知识是有用的,在某些情况下,可能成了累赘,比如大站和小站的做法就差别很大,再如过多使用某种技巧,就会导致过度优化。推荐卢松松博客作为参考平台。

      


      今天,笔者为大家带来的是我们应该看从哪些地方学习SEO优化知识。希望对大家有所帮助。

      一、独立优化的站点

      我认为如果要看一篇SEO文章,需要先看他自己的做的站点如何,他的SEO博客也好,其他站点也罢,必须是自己亲手一点一点做起来的,可以去查查看站点现在的权重如何,关键词排名如何,他的站点是否应用了他所谓的SEO优化知识,并且是否已经得到了一些效果。

      千万不要听他讲给多少客户做过SEO外包,哪个网站做的权重多高,关键词排名多高,IP日过百万等等。这些如果是假的,你知道吗?

      不是本人在这里胡乱造谣,我见过太多做SEO外包服务的企业,其做了十几年的官网在站长之家SEO综合查询和爱站网都没有百度权重。当然,就算百度权重不重要,那就看看是不是关键词库里是不是有非首页排名。

      如果关键词库都没有文章页面链接、栏目页面链接、专题页链接等等,就更不要听他们说网站的长尾关键词带来的流量了(很多长尾关键词没有百度指数,不参与综合查询的百度权重)。

      再者说,大量长尾关键词排名会带动网站核心关键词排名,这与低百度权重就是相互矛盾的。

      下图中,可以看到有文章页的排名,这就意味着存在长尾关键词的排名,只是在关键词库中并不能显示。

      二、原创SEO教程作者

      如果他的SEO博客评估后确实不错,然后需要看他的文章是否均为原创SEO教程,为什么非得是原创呢?

      因为如果他的文章全部都是采集别人的,那么您看到的这篇文章可能就不是他的观点,可能他的网站也没有应用过这样的SEO优化知识。

      拿这样的文章出来,无非是给自己增加网站收录量,让更多的人去关注他。

      为什么这么说呢?以前有个做SEO教程的人,拿了笔者的文章改了改,就去站长之家投稿,结果还过了。当时,笔者的内心稍微有点不满,然后投诉,后来撤稿了。

      先不说我写的那篇文章对不对,就算他是个SEO高手,我是个SEO小菜鸟,他拿了我的文章去投稿,是不是可以说,这篇文章仅仅是一个小菜鸟的文章,而不是他本人的观点。

      如果SEO教程作者不能够原创,只为快速排名,只会抄袭,这样的文章不看也罢。

      昨天的教程中,笔者也提到了,关于《绯闻SEO是什么意思》这篇文章,有很多SEO教程网都抄袭了这篇,那可以肯定的是,这些网站的没有百分百的原创度,在这种网站上,我们可以看到各种各样人写的文章,观点可能都是背道而驰,何谈有用的SEO优化知识呢?

      不过,从他们抄袭的这件事,也可以看出,网站权重高,就算抄袭,人家排名也比你要好,哪怕有百度熊掌号的原创保护。

      三、排名很高的SEO网站

      我在百度以“SEO”、“SEO教程”、“SEO优化”、“SEO是什么”为关键词进行搜索,排名在前两页的网站均为SEO做的比较优秀的网站,我们可以观察他们的网站是如何做的,哪些是可取的操作,哪些是万万不能做的操作。

      但不一定要看他们的教程哦!因为就像我之前说过的,排名很好的网站也是要转载别人的文章的,建议我的是学习他们的网站关键词布局、网站结构优化等等。

      例如,很多人觉得友链无用,或者就是不做友链。但我们看看那些排名高的SEO网站哪个不是好多友链?

      很多人不喜欢做友链,就喜欢做外链,但垃圾外链对网站无用,高质量外链资源短缺而无法获得,那么高权重的友链获取就是一条比较容易的途径,当然前提是我们的网站权重也相当的情况下。

      例如,很多人不知道反链有没有用,那我们就去看看,那些网站是不是都有着很多个反链,答案当然是肯定。

      以上就是笔者为大家带来的SEO优化知识的相关内容。松松商城—大齐Q1137645755 交流地址:https://shop.lusongsong.com/

    展开全文
  • 我的人人小站:http://zhan.renren.com/ilovepython  在昨天的python基本知识中竟然忘记了bool这个类型,还好@于童--martin童鞋的提醒,谢谢啦!!!  那今天就从bool开始说吧,python的bool类型有两个"值",一个...

    我的人人小站:http://zhan.renren.com/ilovepython

            在昨天的python基本知识中竟然忘记了bool这个类型,还好@于童--martin童鞋的提醒,谢谢啦!!!

            那今天就从bool开始说吧,python的bool类型有两个"值",一个是True,一个是False(要严格注意大小写哦),前面的值加了引号不是随便加的,这个先暂且不说,将所有的基本知识说完之后再来说这个。这个bool大家应该已经很熟悉了,提到bool就说些题外话:C语言本身是不能使用bool的,但是C99标准中是有一个<stdbool.h>,可以使用bool。C++就可以正常使用了,JAVA中是boolean。
            回头再说python的bool。用法和其他语言差不多。但是稍微有一点点区别的是:python的bool中除了0,空字符串,None,空列表,空元组,空字典这些是False以外,其余的都是True,具体如果你自己想测试一下的话,可以print bool([])就可以看到空列表代表什么bool"值"了。但是有些话正着说就可以,反着说就不可以。这些我先不说,只是给出一例,感兴趣的话可以先自己验证下。print 99==True,可以运行一下看看。关于bool暂时先说这么多吧,其他的要单独开一篇来说。
            比较基本的类型基本也说得差不多了,现在说一些稍微高级一点点的。这里的高级一点点我的意思是,这些内容展开来说单独开一两篇都说不完的。下面也只是介绍基本用法 P.S.从这里开始文章中就要充斥着一些代码了,但是人人小站这么蛋疼的排版和编辑,咱们也只能呵呵了。凑活看一下。。

    首先就是class了,先从定义开始说吧,下面就是一个空类

    class world:
            pass #pass是指一个空的块

    如果我们想要继承一个类呢

    class world(uni): 
    #此时uni就算做world的基类了,java里面应该叫做父类
            pass 

    如果我们要是想在类里面搞一些属性或者叫成员出来呢

    class world:
            person="I'm a person" 
    #这个时候这个类就多了一个成员person了

            那要是想要搞出一个函数或者叫方法出来呢
    class world:
            sentences="Hello"
            def sayHello(self):
                    print self.sentences
            这一段主要是要注意,在类里面的方法的参数必须要有一个self,如果无参数就只写一个self,如果有参数self要写成第一个参数。真是逗。话说回来,如果不加self呢,这个我会在展开来说的时候说一下。上面的例子也透露了如何调用属性。有了一个简单地类的框架之后咱们应该搞一个实例化的对象出来,用一下这个类。
    nihao=world()
    nihao.sayHello()
            这样就算是使用了,与其他语言一样用 . 来访问方法。
            下面说一下如何搞出一个私有成员出来,因为python是没有那些访问修饰符的(public,protected,private),但是python也提供了方法供我们搞出私有成员来,那就是把你的标识符前面带上两个下划线即可标明他是个私有成员了。
    class world:
            __sentences="Hello"
            def say(self):
                    self.__sayHello()
            def __sayHello(self):
                    print self.__sentences
            上面的__sentencese和__sayhello()就是私有成员了,如果你在类外调用,就会报错的,但是他的错误说明是很讲究的,有兴趣的可以看一下。这个也是以后要说的内容。
            类里面要说的远远不止这些了,但是关于类的基本知识就先说这么多了,其他知识我会单独开篇展开来说。
            其实有了这两篇基本知识,即使不了解其他的,也能用python写很多程序了。但是如果觉得这就是python,那就大错特错了,python的很多亮点都没有点出来呢,有时间慢慢说。基本的概念暂时就只想起来这么多,接下来会说一些语法和以上这些概念展开来的内容。当然如果有什么遗漏,还是告诉我一下,我在下一篇的开头再补充上。
    展开全文
  • 非常遗憾的是,小朋友搜索《十万个为什么》的时候,搜索引擎却让我的这个站点“SEO十万个为什么”排第一页了,这应该是搜索引擎的误差。 关键词的搜索频率。在中文意义上,我们认为“快速减肥方法”和“快速减肥...
  • CSS知识点梳理

    2019-05-09 20:02:12
    因为这是我学完CSS后辛苦整理、总结出来的知识点,所以只发布在了我的小站里,还望谅解。 博文内设目录树,方便查阅。 通道直达:https://www.minghaohao.cn/index.php/archives/62/ ...

    字体及样式

    • 字体

      font-weight:
      font-style:italic; 斜体
      font-family:cursive; 字体

    • 颜色

    (1)三原色:红、绿、蓝

    (2)颜色函数:rgb(a,b,c) 0-255 000-fff

    • 单位

      px:一个像素只能展示一个颜色 屏幕分辨率即像素 像素点越大,屏幕分辨率越次
      像素是一个相对单位

      font-size:16px
      1 em = 1 * font-size
      因此em是随着px的变化而变化的,这也就是用em来做首行缩进的单位的巧妙之处

    • 段落

      text-align:left center right 对齐方式 水平居中
      line-height: 20px 单行文本所占的高度
      若是1.2倍的行高,则可以使用1.2em

      text-indent: 2em 首行缩进

      单行文本所占高度等于容器高度,则此文本在垂直方向居中

    • 文本装饰

      原价50元
      del{
      text-decoration:none; 效果无线
      }

    • 鼠标样式(调用的是系统样式)

      cursor:pointer; 鼠标成小手
      cursor:help; 鼠标成问好

    • 边框

      border:1px solid black 边框的粗细、边框的线为实线、颜色 复合属性
      border-width:10px
      border-style: dotted(点状虚线) dashed(条状虚线) solid(实线)

      border-left-color:transparent(透明色)

    • 注意点

      img 属性设置宽后,其高也会同比例缩放。

    选择器及其权重

    • 派生选择器

    直接关系:

    <div class="wrapper">
    		<strong class="box">
    				<em>demo</em>
    		</strong>
    </div>
    
    .wrapper .box .em{
    		background-color:black;
    }
    

    间接关系:

    <div>
    		<em>demo_1</em>
    				<strong>
    						<em>demo_2</em>
    				</strong>
    </div>
    
    div em{
    		background-color:black;
    }
    
    • 直接子元素选择器

      demo_1 demo_2

      div > em{
      blackground-color:black;
      }

    • 属性选择器

      demo_1
      demo_2

      demo_3

      [class=“demo”]{
      background-color:red;
      }

    • 并列选择器

      demo_1
      demo_2

      demo_3

      div[class=“demo”]{
      background-color: red;
      }

      div.demo{
      background-color: green;
      }

    • 分组选择器

      demo_1
      demo_2

      demo_3

      div,
      em,
      p{
      background-color: red;
      }

    • 伪类选择器

      www.taobao.com
      a{
      text-decration:none;
      }
      a:hover{
      text-decration:underline;
      background-color:#f40;
      color:#fff;
      font-size:16px;
      font-weight:bold;
      font-family:arial;
      border-radius:10px;
      }

    • 伪元素

    伪元素天生就是行级(inline)元素,要想让一些css属性在它身上起作用,可以将其display设为inline-block。

    content 只能用在伪元素里面。

    <ui class="nav">
    		<li class="item">
    			<a href="#">天猫</a>
    		</li>
    		<li class="item">
    			<a href="#">聚划算</a>
    	    </li>
    		<li class="item">
    			<a href="#">天猫超市</a>
    		</li>
    	</ui>
    
    *{
    	margin: 0;
    	padding: 0;
    	color: #424242;
    	font-family: arial;
    }
    
    a{
    	text-decoration: none;
    }
    
    .nav::after{
    	content: "";
    	display: block;
    	clear: both;
    }
    
    .nav{
    	list-style: none;
    }
    
    .nav .item{
    	float: left;
    	margin: 0 10px;
    	height: 30px;
    	line-height: 30px;
    }
    
    .nav .item a{
    	padding: 0 5px;
    	color: #f40;
    	font-weight: bold;
    	height: 30px;
    	display: inline-block;
    	border-radius: 15px;
    }
    
    .nav .item a:hover{
    	background-color: #f40;
    	color: #fff;
    }
    
    • 权重

      通配符(*) 0
      标签|伪元素 1
      class|属性|伪类 10
      id 100
      行间样式 1000
      !important Infinity

    当权重一样时,后面的css选择器表达式会覆盖前面的css选择器表达式,即展示后面表达式的css效果。

    行级元素和块级元素

    • 行级元素(内敛元素 inline)

    feature:内容决定元素所占的位置,不可以通过css改变宽高。

    <span>  <strong>  <a>  <em>  <del>  
    
    • 块级元素(block)

    feature:独占一行,可以通过css改变宽高。

    <div>  <p>  <ol>  <li>  <ul>  <from>  <adress>
    
    • 行级块元素(inline-block)

    feature:内容决定大小,可以改宽高

    <img src="fly.jpg">
    

    这些标签都可以通过修改其内部的隐式属性display,来更改其是块级元素,行级元素还是行级块元素。

    • 凡是带有inline的属性,都具有文字特性。所以以下这种情况不用特意修改:

      <img src="fy.jpg"><img src="fy.jpg"><img src="fy.jpg"><img src="fy.jpg">

      img{
      margin-left:-6px;
      }

    • 注意点

      position:abolute;
      float:left/right;
      打内部把元素转换成inline-block:可以改变宽高

      123

      span{
      position:abolute;
      with:100px;
      height:100px;
      backround-color:red;
      }

      行级元素只能嵌套行级元素,块级元素可以嵌套任何元素。
      p 标签内不能套块级元素 a 标签里不能套 a 标签。

    常用的开发习惯

    • 先定义功能,后选择样式。

    • 标签自定义。

      em{
      font-style:normal’
      color:#c00;
      }
      ul{
      list-style:none;
      padding:0;
      margin:0;
      }

    • 通配符选择器的权重为0,适合初始化所有标签。

      *{
      padding:0;
      margin:0;
      text-decration:none;
      }

    • 如果a标签下面有image的话,让它的border为0。

      a img{
      border:0;
      }

    盒子模型和层模型

    • 盒子模型

    1、盒子壁:border

    2、内边距:padding

    3、外边距:margin

    4、盒子内容:width+height

    //上、右、下、左
    paddding:100px 150px 200px 250;
    
    //上、左右、下
    padding:100px 150px 200px;
    
    //上下、左右
    padding:100px 150px;
    
    //上
    padding-top:100px;
    padding:100px 0 0 0
    
    //border-width 类似于padding
    
    • 层模型

      //底
      bottom:

      //透明度
      opacity:

      absolute:相对于最近的有定位的父级进行定位,如果没有,相对于文档进行定位。(脱离原来的位置进行定位)

      relative:相对于原来的位置进行定位。(保留原来的位置进行定位)

      fixed:固定定位,相对于可视区窗口,通常用于广告定位。

    经典案列

    <!DOCTYPE html>
    <html lang="en">
    <head>
    	<meta charset="utf-8">
    	<title>DOCUMENT</title>
    	<link rel="stylesheet" type="text/css" href="demo_6.css">
    </head>
    <body>
    	<div class="demo"></div>
    	<div class="box"></div>
    </body>
    
    
    //demo_6.css
    *{
    	margin: 0;
    	padding: 0;
    }
    
    .demo{
    	position: relative;
    	left: 100px;
    	top: 100px;
    	background-color: red;
    	width: 100px;
    	height: 100px;
    	opacity: 0.5;
    }
    
    .box{
    	width: 150px;
    	height: 150px;
    	background-color: green;
    }
    
    <!DOCTYPE html>
    <html lang="en">
    <head>
    	<meta charset="utf-8">
    	<title>DOCUMENT</title>
    	<link rel="stylesheet" type="text/css" href="demo_7.css">
    </head>
    <body>
    	<div class="wrapper">
    		<div class="content">
    			<div class="box">
    				
    			</div>
    		</div>
    	</div>
    </body>
    
    
    //demo_7.css
    .wrapper{
    	margin-left: 100px;
    	width: 200px;
    	height: 200px;
    	background-color: orange;
    }
    
    .content{
    	position: relative;
    	margin-left: 100px;
    	width: 100px;
    	height: 100px;
    	background-color: black;
    }
    
    .box{
    	position: absolute;
    	left: 50px;
    	width: 50px;
    	height: 50px;
    	background-color: yellow;
    }
    
    <!DOCTYPE html>
    <html lang="en">
    <head>
    	<meta charset="utf-8">
    	<title>DOCUMENT</title>
    	<link rel="stylesheet" type="text/css" href="demo_8.css">
    </head>
    <body>
    	<br>
    	<br>
    	<br>
    	<br>
    	<br>
    	<br>
    	<br>
    	<br>
    	<br>
    	<br>
    	<div></div>
    	<br>
    	<br>
    	<br>
    	<br>
    	<br>
    	<br>
    	<br>
    	<br>
    	<br>
    	<br>
    	<br>
    	<br>
    	<br>
    	<br>
    	<br>
    	<br>
    	<br>
    	<br>
    	<br>
    	<br>
    	<br>
    	<br>
    	<br>
    	<br>
    	<br>
    	<br>
    </body>
    </html>
    
    
    //demo_8.css
    *{
    	margin: 0;
    	padding: 0;
    }
    
    div{
    	position: fixed;
    	left: 0;
    	top: 100px;
    	width: 100px;
    	height: 100px;
    	background-color: red;
    }
    
    //定位 居中
    <!DOCTYPE html>
    <html lang="en">
    <head>
    	<meta charset="utf-8">
    	<title>DOCUMENT</title>
    	<link rel="stylesheet" type="text/css" href="demo_9.css">
    </head>
    <body>
    	<div></div>
    </body>
    </html>
    
    
    //demo_9.css
    *{
    	margin: 0;
    	padding: 0;
    }
    
    div{
    	position: fixed;
    	left: 50%;
    	top: 50%;
    	width: 100px;
    	height: 100px;
    	background-color: red;
    	margin-left: -50px;
    	margin-top: -50px;
    }
    

    居中五环和两栏布局

    • 居中五环

      DOCUMENT

      //demo_9.css
      *{
      margin: 0;
      padding: 0;
      }

      .plat{
      position: absolute;
      left: 50%;
      top: 50%;
      margin-top: -93px;
      margin-left: -190px;
      width: 380px;
      height: 186px;
      }

      .circle1,
      .circle2,
      .circle3,
      .circle4,
      .circle5{
      position: absolute;
      width: 100px;
      height: 100px;
      border: 10px solid black;
      border-radius: 50%;
      }

      .circle1{
      border-color: red;
      left: 0;
      top: 0;
      }

      .circle2{
      border-color: green;
      left: 130px;
      top: 0;
      }

      .circle3{
      border-color: yellow;
      left: 260px;
      top: 0;
      }

      .circle4{
      border-color: blue;
      left: 75px;
      top: 70px;
      }

      .circle5{
      border-color: purple;
      left: 195px;
      top: 70px;
      }

    • 两栏布局

      DOCUMENT

      //demo_10.css
      *{
      margin: 0;
      padding: 0;
      }

      .right{
      position: absolute;
      right: 0;
      width: 100px;
      height: 100px;
      background-color: #fcc;
      }

      .left{
      margin-right: 100px;
      height: 100px;
      background-color: #123;
      }

    BFC

    • 定义

    块级格式化上下文。

    CSS把HTML中的每一个元素都当作一个盒子,并且每一个盒子里面都有一套渲染规则。

    • 如何触发一个盒子的BFC(改变渲染规则)

    结合实际需求,选择触发的方式

    position:absolute;
    display:inline-block;
    float:right/left;
    overflow:hidden;  //溢出盒子的部分隐藏展示
    

    两个经典bug

    • margin塌陷:父子嵌套的元素,垂直方向的margin,它俩会粘合在一起,取最大的值。

      DOCUMENT

      //demo_11.css
      *{
      margin: 0;
      padding: 0;
      }

      .wrapper{
      margin-left: 100px;
      margin-top: 100px;
      width: 100px;
      height: 100px;
      background-color: black;
      overflow: hidden;
      }

      .content{
      margin-left: 50px;
      margin-top: 50px;
      width: 50px;
      height: 50px;
      background-color: green;
      }

    • margin合并:两个兄弟结构的元素,垂直方向的margin是合并的。

      DOCUMENT 123 234
      1
      2

      //demo_12.css
      *{
      margin: 0;
      padding: 0;
      }

      .box1{
      background-color: red;
      margin-right: 100px;
      }

      .box2{
      background-color: green;
      margin-left: 100px;
      }

      .demo1{
      margin-bottom: 100px;
      background-color: red;
      }

      .demo2{
      margin-top: 100px;
      background-color: green;
      }

      .wrapper{
      overflow: hidden;
      }

    注意点:虽然这样可以通过触发BFC来解决这个bug,所以这个bug我们不解决了。

    浮动模型

    • 浮动元素产生了浮动流。

      所有产生浮动流的元素,块级元素看不到它们;
      
      而产生了BFC的元素和文本类属性(inline)的元素可以看到它们。
      

      报纸类布局

      img{
      float:left;
      width:100px;
      }

    • 浮动站队的边界是父级的边界。

    • 浮动元素并不是分层,只是产生了浮动流,这个浮动流对各元素的影响不一样。

    • 浮动元素脱离了文档流,不能主动的撑开父级。

    • 浮动元素形成文字环绕图片样式的原理:图片虽然脱离了文档流,但是并没有脱离文本流。

    • 包裹浮动模型(能清除浮动的必须是块级元素)

      DOCUMENT
      1
      2
      3

      demo_15.css

        *{
        	margin: 0;
        	padding: 0;
        }
        
        .wrapper{
        	border: 1px solid black;
        }
        
        .wrapper::after{
        	content: "";
        	display: block;
        	clear: both;
        }
        
        .content{
        	float: left;
        	color: #fff;
        	background-color: black;
        	width: 100px;
        	height: 100px;
        }
      
    • 综合案例

      //初步实现淘宝导航栏

      DOCMENT
    • 天猫
    • 聚划算
    • 天猫超市
    • //demo_17.css
      *{
      margin: 0;
      padding: 0;
      color: #424242;
      font-family: arial;
      }

      a{
      text-decoration: none;
      }

      .nav::after{
      content: “”;
      display: block;
      clear: both;
      }

      .nav{
      list-style: none;
      }

      .nav .item{
      float: left;
      margin: 0 10px;
      height: 30px;
      line-height: 30px;
      }

      .nav .item a{
      padding: 0 5px;
      color: #f40;
      font-weight: bold;
      height: 30px;
      display: inline-block;
      border-radius: 15px;
      }

      .nav .item a:hover{
      background-color: #f40;
      color: #fff;
      }

    文字溢出和背景图片的处理

    • 单行文本技术实现“…"

      white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
      
    • 多行文本则截断处理。

    • 图片处理

      div{
      width:200px;
      height:200px;
      border: 1px solid black
      background-image: url(fy.jpg)
      background-size: 100px 100px;
      background-repeat: no-repeat; //不重复出现
      //以x轴重复、以y轴重复
      repeat-x repeat-y
      background-position: 100px 100px; //图片出现的位置
      background-position: left center;
      background-position: 50% 50%;

    • 在网站无法加载CSS和JS的时候,全站以HTML的方式仍然能够保持正常运行。

      DOCUMENT 明昊昊的小站

      //demo_19.css
      *{
      margin: 0;
      padding: 0;
      }

      a{
      display: inline-block;
      text-decoration: none;
      color: #424242;
      width: 190px;
      height: 90px;
      border: 1px solid black;
      background-image: url(https://minghaohao.oss-cn-beijing.aliyuncs.com/images/002.jpg);
      background-size: 190px 90px;

      /*首行缩进*/
        text-indent: 200px; 
        /*强制不换行*/
        white-space: nowrap;
        /*溢出隐藏*/
        overflow: hidden; 
      

      }

      DOUCMENT 明昊昊的小站

      //demo_20.css
      *{
      margin: 0;
      padding: 0;
      }

      a{
      display: inline-block;
      text-decoration: none;
      color: #424242;
      width: 190px;
      height: 0px;
      padding-top: 90px;
      overflow: hidden;
      border-top: 1px solid black;
      background-image: url(https://minghaohao.oss-cn-beijing.aliyuncs.com/images/002.jpg);
      background-size: 190px 90px;

      }

    知识点补充

    • 导航栏自适应技巧

      DOCUMENT
        	</div>
        </div>
      

      //demo_21.css
      *{
      margin: 0;
      padding: 0;
      }

      .wrapper{
      height: 30px;
      background-color: #123;
      }

      .content{
      margin: 0 auto;
      width: 1200px;
      height: 30px;
      background-color: #0f0;
      }

    • 设置:和文本类元素里面的文字,其底部的对齐方式。

      DOCUMENT 123hehe

      //demo_22.css
      *{
      margin: 0;
      padding: 0;
      }

      span{
      display: inline-block;
      width: 100px;
      height: 100px;
      background-color: red;
      font-size: 50px;
      vertical-align: -5px;
      /vertical-align: middle;/
      }

    • W3C标准:

    (1)定义:

    万维网(1994)联盟标准,其为一系列标准的集合。英文名:world wide web consortium。

    (2)网页:结构、样式、行为。结构、行为、样式相分离。

    • 网页的设计思想:

    (1)首先确定布局,将整个页面分成大的区域。

    (2)确定大的区域的范围尺寸,利用div布局并且设置固定宽高和边框。

    (3)细分每个盒子中的子布局,实现具体样式。

    展开全文
  • 微信公众号【Java技术江湖】一位阿里Java工程师的技术小站,致力于分享Java后端技术文章,以及这几年学习Java的心得体会,...Java的知识点其实非常多,并且有些知识点比较难以理解,有时候我们自以为理解了某些内...
  • 微信公众号【Java技术江湖】一位阿里Java工程师的技术小站,致力于分享Java后端技术...主要是把重要的知识点用自己的话说了一遍,可能会有一些错误,还望见谅和指点。谢谢更多详细内容可以到我的cdsn博客上查看: h...
  • 我的博客

    2007-07-01 21:23:00
    csdn真是太棒了。在上面可以得到很多的资料和知识。不过,不打算把博客建在上面,因为要学习技术,最好有个自己的小站,可以自由练习自己的技术。不能太懒,呵呵我的blogwww.jiajiasheng.cn 
  • 欢迎光临我的博客

    2020-03-04 21:04:30
    如果你具备下面知识的基础,你会很轻松开展学习 python 一门很实用编程语言 数学基础 重要基础,主要涉及线性代数、微积分、概率论,你无需深入研究,但是至少要明白一些基本概念和定义。 当然,如果你没有...
  • SEO教程网泛滥,问过几个做SEO网站站长,手里有好几个SEO教程网,而且质量参差不齐,大家无法得知教程中某些SEO优化知识是否对网络优化有积极效果。 SEO人员利用自媒体和高权重平台投稿,将一些所谓...
  • 我的小站——[半生瓜のblog](半生瓜のblog (doraemon2.xyz)) 现在是不是就只有河北和重庆还没考试了T_T。 计算机二级考试公共基础知识部分——-数据库数据库系统的基本概念数据库系统的发展数据库系统的基本特点...
  • 其实大家都可以成为一个厉害软件开发人员,希望大家通过了解提供这些网站找到自己兴趣爱好,以增强自己信心。 [建议] 为了能让更多朋友看到此链接,如果大家是csdn用户,那么请选择[收藏]来收录本文章...
  • 微信公众号【Java技术江湖】一位阿里Java工程师的技术小站 Java集合类学习总结 ...这里先简单地总结一下,更多详细内容请参考我的专栏:深入浅出Java核心技术 https://blog.csdn.net/column/details/219...
  • 其实大家都可以成为一个厉害软件开发人员,希望大家通过了解提供这些网站找到自己兴趣爱好,以增强自己信心。 [建议] 为了能让更多朋友看到此链接,如果大家是csdn用户,那么请选择[收藏]来收录本文章,以...
  • [序言] 其实大家都可以成为一个厉害软件开发人员,希望大家通过...知识是分享...... [宣传] 80x86汇编小站站长:猪头三(Code_GodFather) 独立开发磁盘性能优化工具: Real-depth Defra

空空如也

空空如也

1 2 3 4
收藏数 66
精华内容 26
关键字:

我的知识小站