一、页脚如何始终固定在页面底部显示

想要达到页脚固定在页面底部显示,也就是当页面主体高度在浏览器高度范围内时页脚靠浏览器底部,超出浏览器高度时页脚在页面主体下方,相当于在高度上的自适应。

乍看似乎很简单,固定在底部,用fixed定位就好啦,但是页面一屏显示不下时,页脚会遮挡页面内容。

常用做法,html结构

<div class="wrap">
    <div class="main">
        在做项目时,想要达到页脚固定在页面底部显示,也就是当页面主体高度在浏览器高度范围内时页脚靠浏览器底部,超出浏览器高度时页脚在页面主体下方,相当于在高度上的自适应。
        乍看似乎很简单,固定在底部,用fixed定位就好啦,但是页面一屏显示不下时,页脚会遮挡页面内容。
        现在常用这种方法:
        <br />  <br />  <br />  <br />  <br />  <br /> <br />  <br />  <br />  <br />  <br />  <br />
        <br />  <br />  <br />  <br />  <br />  <br />
        <br />  <br />  <br />  <br />  <br />  <br />
        哈哈哈
    </div>
</div>
<div class="footer">
    原理是这样的:
    首先无论页面内容有多少,设置它占有的高度都至少是100%(min-height:100%),然后设置页面的高度根据容器内容的高度自适应,下面要考虑页脚的位置,设置一个负的外边距使页脚在高度100%范围内显示,这样带来的问题是与wrap得部门内容重合,于是设置main的padding-bottom使部分内容空出来,这个padding-bottom值的高度就是用来容纳页脚的。
    这样就实现了想要的效果,当然方法不止一种
</div>

CSS样式

<style>
    .wrap {
        min-height: 100%;
        height: auto !important;
    }
    .main {
        padding-bottom: 80px;
        /*页脚高度+页脚与容器的距离*/
    }
    .footer {
        height: 60px;/*页脚高度*/
        margin-top: -60px;/*一个页脚高度的负外边距*/
    }
</style>

原理是这样的:

首先无论页面内容有多少,设置它占有的高度都至少是100%(min-height:100%),然后设置页面的高度根据容器内容的高度自适应,下面要考虑页脚的位置,设置一个负的外边距使页脚在高度100%范围内显示,这样带来的问题是与wrap得部门内容重合,于是设置main的padding-bottom使部分内容空出来,这个padding-bottom值的高度就是用来容纳页脚的。

这样就实现了想要的效果,当然方法不止一种。

二、超链接的一些常规CSS设置

链接的定义主要有三个属性,颜色(color)、文本修饰(text-decoration)和背景(background)

超链接不显示下划线:text-decoration:none;

图片超链接:<a><img src="" /></a>

定义链接样式

  CSS为一些特殊效果准备了特定的工具,我们称之为“伪类”。其中有几项是我们经常用到的,下面我们就详细介绍一下经常用于定义链接样式的四个伪类,它们分别是:

a:link,定义正常链接的样式;
a:visited,定义已访问过链接的样式;
a:hover,定义鼠标悬浮在链接上时的样式;
a:active,定义鼠标点击链接时的样式。

接定义的顺序
  没有规矩不成方圆,虽然链接定义写好了,但它也是有规则的,如果这四项的书写顺序稍有差错,链接的效果可能就没有了,所以每次定义链接样式时务必确认定义的顺序,link--visited--hover-active,也就是我们常说到的LoVe HAte原则(大写字母就是它们的首字母)。 
定义局部链接样式
  在CSS中写上a:link{}这样的定义会使整个页面的链接样式改变,但有些局部链接需要特殊化,这个问题也不难解决,只要在链接样式定义的前面加上指定的id或class就可以了。  
示例:

#sidebar a:link,
#sidebar a:visited {
color:#FF0000;
text-decoration:none;
}
#sidebar a:hover,
#sidebar a:active {
color:#000000;
text-decoration:underline;
} 

调用方法:
<div id="sidebar"><a href="http://www.jb51.net" target="_blank">链接到脚本之家<a></div>

三、超出部分影藏,鼠标移动上去显示

  • 超出部分若不允许换行:

width:200px;
overflow: hidden;   /*溢出隐藏*/
text-overflow:ellipsis;   /*隐藏的部分 显示省略号*/
white-space:nowrap;   /*规定段落中的文本不进行换行*/

使用这种方式的话,盒子一定要是块级盒子,并且有宽度!

  • 若允许换行,则设置个高度,并且不要 white-space:nowrap;
  • 鼠标移动上去显示,需要设置其 title属性。

更多参考:关于overflow:hidden

【知识笔记】前端样式CSS的更多相关文章

  1. 004.前端开发知识,前端基础CSS(2020-01-09)

    一.CSS字体样式属性 1.font-size:字号大小 2.font-family:字体 font-family属性用于设置字体.网页中常用的字体有宋体.微软雅黑.黑体等. * { /*font-f ...

  2. 003.前端开发知识,前端基础CSS(2020-01-07)

    一.CSS初识 CSS通常称为CSS样式表或层叠样式表(级联样式表),主要用于设置HTML页面中的文本内容(字体.大小.对齐方式等).图片的外形(宽高.边框样式.边距等)以及版面的布局等外观显示样式. ...

  3. 006.前端开发知识,前端基础CSS(2020-01-21)

    来源:第五天  01盒子水平居中 一.盒子中文字控制: 1.text-align: center; /*可以让盒子内容(文字 行内元素 行内块元素)居中对齐*/ 二.让盒子水平居中对齐: 方法1.ma ...

  4. 005.前端开发知识,前端基础CSS(2020-01-14)

    一.CSS权重 权重是可以叠加的,事例如下: div ul li ------> 0,0,0,3 .nav ul li ------> 0,0,1,2 a:hover -----—> ...

  5. 007.前端开发知识,前端基础CSS(2020-01-28)

    一.布局 一列固定宽度且居中 两列左窄右宽型 通栏平均分布型 1.一列固定宽度且居中布局<body> .top+.banner+.main+.footer 按Tab键,得到下框中代码 &l ...

  6. vue—你必须知道的 js数据类型 前端学习 CSS 居中 事件委托和this 让js调试更简单—console AMD && CMD 模式识别课程笔记(一) web攻击 web安全之XSS JSONP && CORS css 定位 react小结

    vue—你必须知道的   目录 更多总结 猛戳这里 属性与方法 语法 计算属性 特殊属性 vue 样式绑定 vue事件处理器 表单控件绑定 父子组件通信 过渡效果 vue经验总结 javascript ...

  7. WEB前端开发CSS基础样式全面总结

    Web前端开发css基础样式全面总结 颜色和单位的使用 颜色 用颜色的名字表示颜色,比如:red 用16进制表示演示 比如:#FF0000 用rgb数值表示颜色,rgb(红,绿,蓝),每个值都在0-2 ...

  8. 前端04 /css样式

    前端04 /css样式 目录 前端04 /css样式 昨日内容回顾 css引入 选择器 基础选择器 组合选择器 属性选择器 伪类选择器 伪元素选择器 优先级(权重) 通用选择器 css样式 1高度宽度 ...

  9. 【前端】CSS入门笔记

    教程 CSS 指层叠样式表 (Cascading Style Sheets) CSS 语法 CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明. 选择器通常是您需要改变样式的 HTML 元素 ...

随机推荐

  1. jQuery上下切换带缩略图的焦点图

    在线演示 本地下载

  2. 搭建 Spring 开发环境

    把以下 jar 包加入到工程的 classpath 下: Spring 的配置文件: 一个典型的 Spring 项目需要创建一个或多个 Bean 配置文件, 这些配置文件用于在 Spring IOC ...

  3. maven项目包结构

    groupId填写公司名称,如com.enn.ennewartifactId填写项目名称webapps如父工程: <groupId>com.enn.ennew</groupId> ...

  4. get the request body of all quests before handle it

    https://stackoverflow.com/questions/23660340/need-to-log-asp-net-webapi-2-request-and-response-body- ...

  5. windchill相关功能操作

    1.创建产品   2.创建文件夹   3.创建文档   4.创建用户账号   5.创建组   6.创建更改请求   7.创建部件新视图版本   8.创建可重用属性和全局枚举   9.在组织内分配上下文 ...

  6. scala学习手记9 - =和==

    = 赋值运算 scala的赋值运算和java的有着很大的不同.如a=b这样的赋值运算,在Java中返回值是a的值,在scala中返回的则是Unit(Unit是值类型,全局只存在唯一的值,即(),通常U ...

  7. scala学习手记3 - var和val

    scala中用var和val定义变量都是可以的. 用val定义的变量是不可变的,被初始化后值就固定下来,不可以再被修改(这类似于java中的final关键字):用var定义的变量是可变的,可以任意修改 ...

  8. angular-ui-bootstrap各版本下载地址

    http://www.bootcdn.cn/angular-ui-bootstrap/

  9. JavaScript面向对象之Prototypes和继承

    本文翻译自微软的牛人Scott Allen Prototypes and Inheritance in JavaScript ,本文对到底什么是Prototype和为什么通过Prototype能实现继 ...

  10. django中Model表的反向查询

    很多时候需要在多张表之间进行跨表查询,这其中外键是必须存在的,而通过外键所处的表的对象进行跨表查询, 称为正向查询.反之,则是反向查询. 正向查询很简单,这里不谈. 主要谈下反向查询. class U ...