zoukankan      html  css  js  c++  java
  • 【疯狂积累CSS】1:CSS基础

    一:选择器☆☆

    元素选择器 p { color: #ff0000; }

    派生选择器:比方说,你希望列表中的 strong 元素变为斜体字,而不是通常的粗体字,可以这样定义一个派生选择器,也就是说li中的strong:li strong { font-style: italic; font-weight: normal; }

    id 选择器,id选择器可以跟派生一起使用#red {color:red;} #green {color:green;} <p id="red">这个段落是红色。</p> <p id="green">这个段落是绿色。</p>

    类选择器,类选择器也可以派生 .center {text-align: center} <h1 class="center"> This heading will be center-aligned </h1> <p class="center"> This paragraph will also be center-aligned. </p>

    样式表这样插入到html中<head> <link rel="stylesheet" type="text/css" href="mystyle.css" /> </head>

    总结:css的选择器好像和jquery非常相似,基本有id,类,元素三种选择,分别是井号,点,直接元素名,另外加上派生和继承。当然还有其他如,子元素选择器和相邻兄弟选择器等等。

    二:CSS样式☆☆

    背景

    把元素的背景设置为灰色:p {background-color: gray;}

    内边距:p {background-color: gray; padding: 20px;}

    背景图像:body {background-image: url(/i/eg_bg_04.gif);}

    背景重复:body{background-image: url(/i/eg_bg_03.gif);background-repeat: repeat-y;}

    背景定位:body{ background-image:url('/i/eg_bg_03.gif');background-repeat:no-repeat;background-position:center;}

    文本

    缩进文本:p {text-indent: 5em;}

    使用负值:p {text-indent: -5em;}

    使用百分比值:div { 500px;}

    水平对齐:text-align

    字体

    使用通用字体系列:body {font-family: sans-serif;}

    指定字体系列:h1 {font-family: Georgia;}

    字体大小:h1 {font-size:60px;} h2 {font-size:40px;} p {font-size:14px;}

    链接

    a:link {color:#FF0000;} /* 未被访问的链接 */ a:visited {color:#00FF00;} /* 已被访问的链接 */ a:hover {color:#FF00FF;} /* 鼠标指针移动到链接上 */ a:active {color:#0000FF;} /* 正在被点击的链接 */

    列表

    列表项标志设置为方块:ul {list-style-type : square}

    列表项图像:ul li {list-style-image : url(xxx.gif)}

    列表标志位置:li {list-style : url(example.gif) square inside}

    表格

    表格边框:table, th, td{ border: 1px solid blue;}

    折叠边框:table {border-collapse:collapse;} /* 默认边框是两层空心,这个属性可以说必须有 */

    表格宽度和高度:table { 100%; } th { height:50px; }

    表格文本对齐:text-align 属性设置水平对齐方式,比如左对齐、右对齐或者居中:vertical-align 属性设置垂直对齐方式,比如顶部对齐、底部对齐或居中对齐:表格内边距:td { padding:15px;}

    轮廓(outline)

    是绘制于元素周围的一条线,位于边框边缘的外围,可起到突出元素的作用。

    CSS outline 属性规定元素轮廓的样式、颜色和宽度。我好像从来没用过

    三:CSS框模型☆☆☆

    CSS 框模型 (Box Model) 规定了元素框处理元素内容、内边距边框外边距 的方式。

    * { margin: 0; padding: 0; } /* 这就分别是内边距和外边距 */

    h1 {padding: 10px 0.25em 2ex 20%;} /* 按照上、右、下、左的顺序分别设置各边的内边距,各边均可以使用不同的单位或百分比值 */

    p {padding: 10%;} /* 如果只有一个则四周都会设置成一样的 */

    a:link img {border-style: outset;} /* 这样设置边框样式,边框总共有10种样式 */

    p {border-style: solid; border- 5px;}

    p {border-style: solid; border- 15px 5px 15px 5px;} /* 按照上、右、下、左 */

    p {border-style: none; border- 50px;} /* 这样会没有边框 */

    h1 {margin : 0.25in;} /* 设置外边距 */

    h1 {margin : 10px 0px 15px 5px;} /* 按照上、右、下、左 */

    p {margin : 10%;}

    p {margin: 0.5em 1em;} /* 第一个值设置上下,第二个值设置下左 */

    当一个元素出现在另一个元素上面时,第一个元素的下外边距与第二个元素的上外边距会发生合并,这个好烦。

    三:CSS框模型☆☆☆

    CSS 框模型 (Box Model) 规定了元素框处理元素内容、内边距边框外边距 的方式。

    * { margin: 0; padding: 0; } /* 这就分别是内边距和外边距 */

    h1 {padding: 10px 0.25em 2ex 20%;} /* 按照上、右、下、左的顺序分别设置各边的内边距,各边均可以使用不同的单位或百分比值 */

    p {padding: 10%;} /* 如果只有一个则四周都会设置成一样的 */

    a:link img {border-style: outset;} /* 这样设置边框样式,边框总共有10种样式 */

    p {border-style: solid; border- 5px;}

    p {border-style: solid; border- 15px 5px 15px 5px;} /* 按照上、右、下、左 */

    p {border-style: none; border- 50px;} /* 这样会没有边框 */

    h1 {margin : 0.25in;} /* 设置外边距 */

    h1 {margin : 10px 0px 15px 5px;} /* 按照上、右、下、左 */

    p {margin : 10%;}

    p {margin: 0.5em 1em;} /* 第一个值设置上下,第二个值设置下左 */

    当一个元素出现在另一个元素上面时,第一个元素的下外边距与第二个元素的上外边距会发生合并,这个好烦。

    四:定位

    以下叙述很关键

    一切皆为框,这句很重要,div、h1 或 p 元素常常被称为块级元素。这意味着这些元素显示为一块内容,即“块框”。与之相反,span 和 strong 等元素称为“行内元素”,这是因为它们的内容显示在行中,即“行内框”。

    您可以使用 display 属性改变生成的框的类型。这意味着,通过将 display 属性设置为 block,可以让行内元素(比如 <a> 元素)表现得像块级元素一样。还可以通过把 display 设置为 none,让生成的元素根本没有框。这样的话,该框及其所有内容就不再显示,不占用文档中的空间。

    CSS 定位机制

    CSS 有三种基本的定位机制:普通流、浮动和绝对定位。

    除非专门指定,否则所有框都在普通流中定位。也就是说,普通流中的元素的位置由元素在 (X)HTML 中的位置决定。

    块级框从上到下一个接一个地排列,框之间的垂直距离是由框的垂直外边距计算出来。

    行内框在一行中水平布置。可以使用水平内边距、边框和外边距调整它们的间距。但是,垂直内边距、边框和外边距不影响行内框的高度。由一行形成的水平框称为行框(Line Box),行框的高度总是足以容纳它包含的所有行内框。不过,设置行高可以增加这个框的高度。

    CSS position 属性非常非常关键,H5定位全靠这个

    static 元素框正常生成。块级元素生成一个矩形框,作为文档流的一部分,行内元素则会创建一个或多个行框,置于其父元素中。 relative 元素框偏移某个距离。元素仍保持其未定位前的形状,它原本所占的空间仍保留。 absolute 元素框从文档流完全删除,并相对于其包含块定位。包含块可能是文档中的另一个元素或者是初始包含块。元素原先在正常文档流中所占的空间会关闭,就好像元素原来不存在一样。元素定位后生成一个块级框,而不论原来它在正常流中生成何种类型的框。 fixed 元素框的表现类似于将 position 设置为 absolute,不过其包含块是视窗本身。

    由于定位太关键,专门一篇文章来总结:

    相对定位

    #box_relative { position: relative; left: 30px; top: 20px; }/* 按照上、右、下、左 */

    绝对定位

    #box_relative { position: absolute; left: 30px; top: 20px; }

    浮动

    浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。

    当把框 1 向右浮动时,它脱离文档流并且向右移动,直到它的右边缘碰到包含框的右边缘:

    如果包含框太窄,无法容纳水平排列的三个浮动元素,那么其它浮动块向下移动,直到有足够的空间。如果浮动元素的高度不同,那么当它们向下移动时可能被其它浮动元素“卡住”:

    附:CSS单位

    px:像素

    em:相对值,默认1em = 16px

    ex:相对值,默认是字体高度的一半

    %:百分比

    in:英寸

  • 相关阅读:
    理解RabbitMQ中的AMQP-0-9-1模型
    深入分析Java反射(八)-优化反射调用性能
    一张图帮你记忆,Spring Boot 应用在启动阶段执行代码的几种方式
    Java equals 和 hashCode 的这几个问题可以说明白吗?
    如何妙用Spring 数据绑定机制?
    Lombok 使用详解,简化Java编程
    Java升级那么快,多个版本如何灵活切换和管理?
    手把手教你定制标准Spring Boot starter,真的很清晰
    Java12 Collectors.teeing 你需要了解一下
    Maven optional关键字透彻图解
  • 原文地址:https://www.cnblogs.com/mihe/p/7535824.html
Copyright © 2011-2022 走看看