类选择器和id选择器都有父子选择器。

在css文件中国,有时候为了简化样式,可以把相同的样式拿出来放在一起。

display:inline

display:block

行内元素里只能放行内元素,而块内元素内部可以放行内元素和块内元素。

清除掉li中文字前的点,可以使用list-style-type:none来搞定。

还有浮动。

标准流:写在前面出现在前面,写在后面的元素出现在后面。

盒子模型

每个html元素都可以看做一个盒子。那么它们就有四个东西:

从元素看,margin-top,从div看就是padding-top.

使用padding可能会将盒子撑大,而使用margin不当可能使元素被挤出来。

优先选择margin.

css核心-浮动

浮动:元素默认是纵向排列,但是当我们需要横向排列时,使用float:left

当某些元素过大时会卡住其他div。

你可以这么理解浮动:如果一个元素向右/左浮动则:

1.它本身会尽可能向右/左移动,直到碰到边框或者别的浮动元素,特别强调浮动对块内元素和行内元素都生效

2.元素向右/左浮动,就相当于让出自己的左/右边,这就解释了笔记css(3)中截图中出现的问题。

补充:html中可以使用<pre></pre>保留文本中的原有格式。

浮动-清除浮动

如果不希望别的元素在某个元素的左边或者右边,可以使用清除浮动的方法clear:right;clear:left;clear:both.

css核心内容-浮动

css(四大)核心内容-定位

css定位属性允许你对元素进行定位,position属性。

定位-基本概念

static(默认值):元素框正常生成。块内元素生成一个矩形框,作为文档流/标准流的一部分,行内元素则会创建一个或多个行框,置于其父元素中。

元素仍保持其未定位前的形状,它原本所占空间仍保留,从这一角度看,好像该元素仍然在文本流/标准流。

其实相对是相对原有的空间的移动。

relative:元素框偏移某个距离。元素仍保持其未定位前的形状,它原本所占的空间仍保留。从这一角度看。

absolute(绝对定位):absolute定位是对离自己最近的那个非标准流盒子而言的

css的定位有以下几种:

1.static定位

这个是默认的方式.

2.relative定位(相对定位)

元素框偏移某个位置(left和top),元素本身形状不变化,它原本所占有的空间仍然保留。

3.绝对定位

元素从原来的位置脱离,并让出自己的空间,后面的元素就会占有让出的空间。

特别说明  1.relative的参照点是它原来的位置,进行再定位。

2.absolute定位是离自己最近的那个非标准流。

绝对布局的代码展示如下所示:

<!DOCTYPE html>
<html>
<head>
<title>relative.html</title> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8"> <link href="relative.css" type="text/css" rel="stylesheet"> </head> <body>
<div class="s1">内容1</div>
<div class="s1">内容3</div>
<div class="s1">内容4</div>
<div class="s2">abc<div id="special" class="s1">内容2</div></div>
</body>
</html>

css文件如下所示:

.s1{
width:100px;
height:60px;
background-color:gray;
float:left;
margin-left:4px;
} #special{
/*position:relative;*//*这里我们使用了相对定位*/
position:absolute;
left:40px;/*在原来的位置,向左移动多少(如果希望向左边移动,则值就是负数)*/
top:100px;/*在原来的位置,向下移动大小(如果希望向上移动,则值是负数)*/
/*坐标体系是原来的位置*/
/*相对原来的位置移动*/
} .s2{
position:relative;
left:200px;
top:100px;
width:300px;
height:100px;
float:left;
background-color:green;
}

运行结果如下所示:

如果定位是static,会发现left(margin-left),right(margin-right)没有作用。

对static而言,left和right属性是不生效的,但是对于absolute和relative是生效的。

fixed:和absolute很像,元素框表现类似于absolute,不过其包含块是元素框本身。

fixed只认body。

css(4)的更多相关文章

  1. Matplotlib数据可视化(3):文本与轴

      在一幅图表中,文本.坐标轴和图像的是信息传递的核心,对着三者的设置是作图这最为关心的内容,在上一篇博客中虽然列举了一些设置方法,但没有进行深入介绍,本文以围绕如何对文本和坐标轴进行设置展开(对图像 ...

  2. CSS的未来

    仅供参考 前言 完成<CSS核心技术与实战>这本书,已有一个多月了,而这篇文章原本是打算写在那本书里面的,但本章讲解的内容,毕竟属于CSS未来的范畴,而这一切都还不能够确定下来,所以这一章 ...

  3. 前端极易被误导的css选择器权重计算及css内联样式的妙用技巧

    记得大学时候,专业课的网页设计书籍里面讲过css选择器权重的计算:id是100,class是10,html标签是5等等,然后全部加起来的和进行比较... 我只想说:真是误人子弟,害人不浅! 最近,在前 ...

  4. 前端css兼容性与易混淆的点

    一.常用的骨灰级清除浮动 .clearfix:after { content: "."; display: block; height:; clear: both; visibil ...

  5. 理解CSS外边距margin

    前面的话   margin是盒模型几个属性中一个非常特殊的属性.简单举几个例子:只有margin不显示当前元素背景,只有margin可以设置为负值,margin和宽高支持auto,以及margin具有 ...

  6. 理解CSS视觉格式化

    前面的话   CSS视觉格式化这个词可能比较陌生,但说起盒模型可能就恍然大悟了.实际上,盒模型只是CSS视觉格式化的一部分.视觉格式化分为块级和行内两种处理方式.理解视觉格式化,可以确定得到的效果是应 ...

  7. 谈谈一些有趣的CSS题目(十二)-- 你该知道的字体 font-family

    开本系列,谈谈一些有趣的 CSS 题目,题目类型天马行空,想到什么说什么,不仅为了拓宽一下解决问题的思路,更涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题 ...

  8. ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第二章:利用模型类创建视图、控制器和数据库

    在这一章中,我们将直接进入项目,并且为产品和分类添加一些基本的模型类.我们将在Entity Framework的代码优先模式下,利用这些模型类创建一个数据库.我们还将学习如何在代码中创建数据库上下文类 ...

  9. 谈谈一些有趣的CSS题目(十一)-- reset.css 知多少?

    开本系列,谈谈一些有趣的 CSS 题目,题目类型天马行空,想到什么说什么,不仅为了拓宽一下解决问题的思路,更涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题 ...

  10. 梅须逊雪三分白,雪却输梅一段香——CSS动画与JavaScript动画

    CSS动画并不是绝对比JavaScript动画性能更优越,开源动画库Velocity.js等就展现了强劲的性能. 一.两者的主要区别 先开门见山的说说两者之间的区别. 1)CSS动画: 基于CSS的动 ...

随机推荐

  1. 【Python】python3中urllib爬虫开发

    以下是三种方法 ①First Method 最简单的方法 ②添加data,http header 使用Request对象 ③CookieJar import urllib.request from h ...

  2. HDU 2255 奔小康赚大钱 KM裸题

    #include <stdio.h> #include <string.h> #define M 310 #define inf 0x3f3f3f3f int n,nx,ny; ...

  3. Spring学习十五----------Spring AOP API的Pointcut、advice及 ProxyFactoryBean相关内容

    © 版权声明:本文为博主原创文章,转载请注明出处 实例: 1.项目结构 2.pom.xml <project xmlns="http://maven.apache.org/POM/4. ...

  4. 【Linux】线程并发拷贝程序

    据说大连某211高校的李教授越来越重口.不仅延续要求他所带的每个本科班.都要写一份线程并发拷贝程序的传统,并且还開始规定不能用Java语言写作.导致我之前写的<[Java]线程并发拷贝程序> ...

  5. HTML5之Canvas绘图(二) ——应用篇之七巧板

    1.canvas绘制七巧板-- <!DOCTYPE html> <html> <head> <meta charset="UTF-8"&g ...

  6. 【WPF学习笔记】之如何通过后台C#代码添加(增/删/改按钮)实现对SQLServer数据库数据的更改

    首先,需要连接SQLServer数据库的服务器名称server.数据库名database.数据库用户名uid以及密码pwd,如下图: 然后需要以下数据库SQL代码段,还有一个myHelper.cs代码 ...

  7. redis启动错误-- Creating Server TCP listening socket *:6379: listen: UnKnown error

    前提:windows server 2008.redis 3.x 今天给服务器部署redis环境,文件配置.服务安装都很顺利,可就在启动服务的时候提示 百度老半天也没找到个说到点子上的. 这里记录下解 ...

  8. word操作

  9. Socket 群聊功能

    1.Server端: 拥有一个存放与客户端连接对象的List<socket> 有一个客户端发信息后 遍历List 实现群发功能 代码如下: package com.socket; impo ...

  10. (图解)Description Resource Path Location Type Java compiler level does not match the version of

    Description Resource Path Location Type Java compiler level does not match the version of project 编译 ...