当前位置: 首页 > 编程日记 > 正文

网页制作之html基础学习3-css样式表

样式:CSS(Cascading Style Sheets,层叠样式表),作用是美化HTML网页

 在样式里面用 /*  */ 进行注释。

1、样式表的基本概念

1.1、样式表分类

1、内联样式表

    和html联合显示,控制精确,但是可重用性差,冗余多。

    例:<p style="font-size:14px;">内联样式表</p>

2、内嵌样式表

    作为一个独立区域内嵌在网页里,必须写在head标签里边。

<style type= "text/css">

p    //格式对p标签起作用

{

     样式;

}

</style>

3、外部样式表

  新建一个CSS文件,用来放样式表。如果要在HTML文件中调用样式表,需要在HTML文件中点右键→CSS样式→附加样式表。一般用link连接方式。

    有些标签有些默认的边距,一般写样式表代码的时候都会先去除(也可以设置其他样式),如下:

 1 <style type= "text/css">
 2 
 3 *    //格式对所有标签起作用
 4 
 5 {
 6 
 7      margin:0px;
 8 
 9      padding:0px;
10 
11 }
12 
13 </style>

 

1.2、选择器

1、标签选择器。用标签名做选择器。

     <style type= "text/css">

     p    //格式对p标签起作用

     {

          样式;

     }

     </style>

 

2、class选择器。都是“.”开头。

  <head>

  <style type="text/css">

  .main     /*定义样式*/

  {

          height:42px;

          width:100%;

          text-align:center;

  }

  </style>

  </head>

  <body>

  <div class="main">       <!--调用class样式-->

  </div>

  </body>

 

3、ID选择器。以“#”开头

  <div id="样式名">

  <head>

  <style type="text/css">

  #main     /*定义样式*/

  {

          height:42px;

          width:100%;

          text-align:center;

  }

  </style>

  </head>

  <body>

  <div id="main">       <!--调用id样式-->

  </div>

  </body>

 

4、复合选择器。

  

 1   1)、用“,”隔开,表示并列。(并集选择器)
 2 
 3   <style type="text/css">
 4 
 5   p,span    /*标签p、span两者同样的样式*/
 6 
 7   {
 8 
 9           样式;
10 
11   }
12 
13   </style>
14 
15    2)、用空格隔开,表示后代。
16 
17     (子选择器:也就是只有对直接后代有影响的选择器,而对“孙子”以及对个层的后代不产生作用。
18 格式如下:p>span{color:blue;}19 
20   <style type="text/css">
21 
22   .main p    /*找到使用样式“main”的标签,在该标签里的P标签使用该样式*/
23 
24   {
25 
26        样式;
27 
28   }
29   </style>
30 
31     3)、筛选“.”。(交集选择器)
32 
33   <style type="text/css">
34 
35   p.sp    /*在标签p中的class="sp"的标签,执行以下样式*/
36 
37   {
38 
39           样式;
40 
41   }
42 
43   </style>

 

5、子元素选择器

如果您不希望选择任意的后代元素,而是希望缩小范围,只选择某个元素的子元素,请使用子元素选择器(Child selector)。

例如,如果您希望选择只作为 h1 元素子元素的 strong 元素,可以这样写:

 1 <!DOCTYPE HTML>
 2 <html>
 3 <head>
 4 <style type="text/css">
 5 h1 > strong {color:red;}
 6 </style>
 7 </head>
 8 
 9 <body>
10 <h1>This is <strong>very</strong> <strong>very</strong> important.</h1>
11 <h1>This is <em>really <strong>very</strong></em> important.</h1>
12 </body>
13 </html>

结果:
This is very very important.This is really very important.

2、样式属性

2.1、背景与前景(前景:指文本

  background-color:#F90;    /*背景色,样式表优先级高*/

  background-image:url(路径);    /*设置背景图片(默认)*/

  background-attachment:fixed;    /*背景是固定的,不随字体滚动*/

  background-attachment:scroll;    /*背景随字体滚动*/

  background-repeat:no-repeat;    /*no-repeat,不平铺;repeat,平铺;repeat-x,横向平铺;repeat-y,纵向平铺*/

  background-position:center;    /*背景图居中,设置背景图位置时,repeat必须为“no-repreat”*/

  background-position:right top;    /*背景图放到右上角(方位可以自己更改)*/

  background-position:left 100px top 200px;    /*离左边100像素,离上边200像素(可以设为负值)*/

 

  字体

  font-family:"新宋体";    /*字体。常用微软雅黑、宋体。*/

  font-size:12px;    /*字体大小。常用像素12px、14px、18px。还可以用“em”,“2.5em”即:默认字体的2.5倍。还可以用百分数*/

  font-weight:bold;    /*bold是加粗,normal是正常*/

  font-style:italic;    /*倾斜,normal是不倾斜*/

  color:#03C;    /*颜色*/

  text-decoration:underline;    /*下划线,overline是上划线,line-through是删除线,none是去掉下划线*/

  text-align:center;    /*(水平对齐)居中对齐,left是左对齐,right是右对齐*/

  vertical-align:middle;    /*(垂直对齐)居中对齐,top是顶部对齐,bottom是底部对齐。一般设置行高后使用。*/

  text-indent:28px;    /*首行缩进量*/

  line-height:24px;    /*行高。一般为1.5~2倍字体大小。*/

    display:none;    /*none,不显示;inline-block,显示为块,不自动换行,宽高可设;block,显示为块,自动换行;inline,效果同span标签,不自动换行,宽高不可设。(针对行内元素可设定为block,块级元素可设定为inline)*/ 

块状元素
内联元素
address - 地址
blockquote - 块引用
center - 举中对齐块
dir - 目录列表
div - 常用块级容易,也是CSS layout的主要标签
dl - 定义列表
fieldset - form控制组
form - 交互表单
h1 - 大标题
h2 - 副标题
h3 - 3级标题
h4 - 4级标题
h5 - 5级标题
h6 - 6级标题
hr - 水平分隔线
isindex - input prompt
menu - 菜单列表
noframes - frames可选内容,(对于不支持frame的浏览器显示此区块内容
noscript - 可选脚本内容(对于不支持script的浏览器显示此内容)
ol - 有序表单
p - 段落
pre - 格式化文本
table - 表格
ul - 无序列表
a - 锚点
abbr - 缩写
acronym - 首字
b - 粗体(不推荐)
bdo - bidi override
big - 大字体
br - 换行
cite - 引用
code - 计算机代码(在引用源码的时候需要)
dfn - 定义字段
em - 强调
font - 字体设定(不推荐)
i - 斜体
img - 图片
input - 输入框
kbd - 定义键盘文本
label - 表格标签
q - 短引用
s - 中划线(不推荐)
samp - 定义范例计算机代码
select - 项目选择
small - 小字体文本
span - 常用内联容器,定义文本内区块
strike - 中划线
strong - 粗体强调
sub - 下标
sup - 上标
textarea - 多行文本输入框
tt - 电传文本
u - 下划线
var - 定义变量

    visibility:hidden;    /*可视性。hidden,隐藏但是占空间;visible,显示。*/

display与visibility区别:  

a、Display的属性值

block:

/*表现为一个块级元素(一般情况下独占一行)*/

当display被设置为block(块)时,容器中所有的元素将会被当作一个单独的块,就像<DIV>元素一样,它会在那个点被放入到页面中。(实际上你可以设置<span>的display:block,使其可以像<DIV>一样工作。

inline:

/*表现为一个行级元素(一般情况下不独占一行)*/

将display设置为inline,将使其行为和元素inline一样---即使它是普通的块元素如<DIV>,它也将会被组合成像<span>那样的输出流。

none:

/*元素不可见,并且不为其保留相应的位置*/

最后是display被设置:none,这时元素实际上就从页面中被移走,它下面所在的元素就会被自动跟上填充。

b、Display的使用

1)、display默认属性值为块级的元素:

adress,quote,body,xmp,center,col,colgroup,dd,dtr,div,

dl,dt,fieldset,form,hn,hr,iframe,legend,listing,marquee,

menu,ol,p,plaintext,pre,table,td,th,tr,ul

2)、display默认属性值为none的元素:

br,frame,nextid,tbody,tfoot,thead

3)、li元素的display属性默认值为:list-item

4)、其他元素display属性默认值都为inline

c、Display的特性

改变元素的display属性将对周围元素造成的影响有:

1、在属性值设为block的元素后面添加新行

2、从属性值设为inline的元素所在行中删除一行

3、隐藏属性值设为none的元素并且释放该元素在文档中所占的物理空间,对于其他元素来说,相当于该元素不存在,因此,该元素的位置被其他元素顶替

d、visibility的属性值

visibility:visible/*元素可见,默认值*/

visibility:hidden/*元素不可见,但仍然为其保留相应的空间*/

visibility:collapse
/*只对table对象起作用,能移除行或列但不会影响表格的布局。如果这个值用在table以外的对象上则表现为hidden。*/

visibility:inherit
/*继承上级元素的visibility值。*/

e、visibility特性

  用来确定元素是显示还是隐藏,这用visibility="visible|hidden"来表示,visible表示显示,hidden表示隐藏。当visibility被设置为"hidden"的时候,元素虽然被隐藏了,但它仍然占据它原来所在的位置。

f、由以上可以了解到 Visibility:none 和 Display:hidden 的区别

  display:none;

  使用该属性后,HTML元素(对象)的宽度、高度等各种属性值都将“丢失”;

  visibility:hidden;

使用该属性后,HTML元素(对象)仅仅是在视觉上看不见(完全透明),而它所占据的空间位置仍然存在,也即是说它仍具有高度、宽度等属性值。

g、什么时候使用Visibility或者Display属性?

Visibility和Display属性虽然都可以达到隐藏页面元素的目的,但它们的区别在于如何回应正常文档流。

如果你想隐藏某元素,但在页面上保留该元素的空间的话,你应该使用visibility:hidden。如果你想在隐藏某元素的同时让其它内容填充空白的话应该使用display:none。

在现实中更多的倾向于使用display属性(相信这也是大多数人的习惯,bolo注)。当你决定用display:none来隐藏一个元素时,你必须知道其它内容将填充到该元素留下的空白位置,从而改变页面的布局。

h、使用Visibility或者Display属性的注意事项

display:none:

1)、JS读取元素属性值

  如果在样式文件或页面文件代码中直接用display:none对元素进行了隐藏,载入页面后,在没有通过js设置样式使元素显示的前提下,使用js代码会无法正确获得该元素的一些属性,比如offSetTop,offSetLeft等,返回的值会为0,通过js设置style.display来使元素显示后才能正确获得这些值。

2)、SEO优化时需要注意

  使用display:none隐藏的元素不会被百度等搜索网站检索,会影响到网站的SEO,某些情况下可以使用left:-100000px来达到同样效果。

3)、样式文件

  如果是通过样式文件或<style>css</style>方式来设置元素的display:none样式,用js设置style.display=""并不能使元素显示,可以使用block或inline等值来代替。通过style="display:none"直接在元素上进行的设置不会有这个问题

4)、有些情况下可以使用style.visibility来代替style.display,但是要注意的是style.visibility隐藏元素时会保留元素在页面上所占的空间,而style.display隐藏元素且让出所占页面空间。

 

visibility:hidden:

如果想让某一段代码在前台不显示,最简单的方法是用css的display:none,这样,下边的内容就自动填补这个空隙。但是在一些特殊的情况下,我们只需要隐藏这个元素,但它的位置不能被占用了,那么,visibility:hidden就可以实现这个要求。

2.2、边界和边框

border(表格边框、样式等)、margin(表外间距)、padding(内容与单元格间距)

  border:5px solid blue;    /*四边框:5像素宽、实线、蓝色(相当于以下三行)*/

  border-width:5px;

  border-style:solid;

  border-color:blue;

  border-top:5px solid blue;    /*上边框:5像素宽、实线、蓝色(分写同上)*/

  border-bottom:5px solid blue;   /*下边框:5像素宽、实线、蓝色(分写同上)*/

  border-left:5px solid blue;    /*左边框:5像素宽、实线、蓝色(分写同上)*/

border-right:5px solid blue;    /*右边框:5像素宽、实线、蓝色(分写同上)*/

 

  margin:10px;     /*四边外边框宽度为10像素。auto,居中。*/

  margin-top:10px;    /*上边外边框宽度为10像素;其他三边边框类似*/

margin:20px 0px 20px 0px;    /*上-右-下-左,四边外边框顺时针顺序*/

 

  padding:10px;    /*内容与边框的四边间距为10像素*/

  padding-top:10px;    /*内容与边框的上间距为10像素;其他三边间距类似*/

padding:20px 0px 20px 0px;   /*上-右-下-左,内容与边框的四边间距顺时针顺序*/

 

2.3、列表与方块

  width、height、(top、bottom、left、right)只有在绝对坐标情况下才有用

  list-style:none;    /*取消序号*/

  list-style:circle;    /*序号变为圆圈,样式相当于无序*/

  list-style-image:url(图片地址);    /*图片做序号*/

  list-style-position:outside;    /*序号在内容外*/

  list-style-position:inside;    /*序号跟内容在一起*/

转载于:https://www.cnblogs.com/zyh-club/p/4695041.html

相关文章:

Mac OS X 下查看和设置JAVA_HOME

原文链接 : http://blog.csdn.net/done58/article/details/51138057 1, 查看Java版本 打开Mac电脑&#xff0c;查看JAVA版本&#xff0c;打开终端Terminal&#xff0c;通过命令行查看笔者的java版本&#xff1a;&#xff1a; [html] view plaincopy bogon:~ donny$ java -vers…

微信小程序获取用户设备的信息

微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 可以获取用户的手机型号&#xff0c;手机操作系统&#xff0c;微信版本&#xff0c;屏幕宽高等等。 Object wx.getSystemInfoSync() wx.getSystemInfo 的同步版本 返回值 Object res 属性类型说明最…

php 命令执行crud_如何使用原始JavaScript执行CRUD操作

php 命令执行crudby Zafar Saleem通过Zafar Saleem 如何使用原始JavaScript执行CRUD操作 (How to perform CRUD operations using vanilla JavaScript) Nowadays there are a number of JavaScript frameworks around such as React, Angular, Vue and so on. They all offer …

关于手机系统信息的总结

获取IMEI号: /*** 获取IMEI号* * Description:* param param activity* param return* return String*/public static String getIMEI(Activity activity) {TelephonyManager manager (TelephonyManager) activity.getSystemService(Context.TELEPHONY_SERVICE);return manage…

pat1011. World Cup Betting (20)

1011. World Cup Betting (20) 时间限制400 ms内存限制65536 kB代码长度限制16000 B判题程序Standard作者CHEN, YueWith the 2010 FIFA World Cup running, football fans the world over were becoming increasingly excited as the best players from the best teams doing b…

如何清空定时器

微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 看代码 var aaaa; //利用slice function truncate(arr) {return arr.slice(0, -1); } Page({data: {},onShow() {console.log(yyyyyyyyyyyyyyyyyyy)clearInterval(aaaa)aaaa setInterval(function () {…

如何解决JavaScript中的根查找

介绍 (Introduction) I’ve been wanting to write about this topic for a while now. I recently had the opportunity to work on simulating the GoalSeek functionality of Excel for a web application. I found the whole purpose of GoalSeek and how it works fascina…

菜单样式1:鼠标悬停向下弹出列表

JS部分&#xff1a;var qcloud{};$([_t_nav]).hover(function(){var _nav $(this).attr(_t_nav);clearTimeout( qcloud[ _nav _timer ] );qcloud[ _nav _timer ] setTimeout(function(){$([_t_nav]).each(function(){$(this)[ _nav $(this).attr(_t_nav) ? addClass:remo…

JS 保持数组长度为3位并且值不重复

微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 需求&#xff1a;保存用户搜索的3次历史记录&#xff0c;新的代替旧的&#xff0c;重复的不录入。 这里有几种情况&#xff1a; 1.第一次搜索&#xff0c;搜索的历史缓存数组为空&#xff0c;就直接添…

Mysql 查询 字符串 (索引和通配符)

需要查询的 Mission_Info 字段 值 CYVR-0220-1240-ZYTX-1415-1740-ZUUU-9999-9999-ZZZZ-9999-9999-ZZZZ SELECT Mission_Info FROM flightplan WHERE Mission_Info LIKE %CYVR-____-____% AND Mission_Info LIKE %-ZYTX%AND instr(Mission_Info, CYVR) <instr(Mission_In…

使用Python和NLTK的自然语言处理(NLP)教程

Natural language processing (NLP) is a branch of artificial intelligence that helps computers understand, interpret, and manipulate human language.自然语言处理(NLP)是人工智能的一个分支&#xff0c;可以帮助计算机理解&#xff0c;解释和操纵人类语言。 This vid…

微信公众号网页获取用户信息

微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 效果图 html 代码&#xff1a; <!DOCTYPE html> <html><head><meta name"viewport" content"widthdevice-width, initial-scale1.0, user-scalableno, minimum-sc…

React Native —— App

使用 React Native 作为 app 框架&#xff0c;Redux 作为数据层&#xff0c;因此我们需要选用一些支持性的技术和工具&#xff1a; 开源的 Parse Server 做数据存储 - 运行在 Node.js 上。Flow 用来做 React Native 的 JavaScript 输入错误检查&#xff0c;防止低级的输入错误。…

数据库访问性能优化

数据库访问性能优化 转载于:https://www.cnblogs.com/daishuguang/p/4707357.html

如何使用日志进行程序调试_如何使用日志节省调试时间

如何使用日志进行程序调试by Maya Gilad通过Maya Gilad 如何使用日志节省调试时间 (How to save hours of debugging with logs) A good logging mechanism helps us in our time of need.一个 良好的日志记录机制可以在需要时帮助我们。 When we’re handling a productio…

(转)线程的同步

Java线程&#xff1a;线程的同步-同步方法线程的同步是保证多线程安全访问竞争资源的一种手段。线程的同步是Java多线程编程的难点&#xff0c;往往开发者搞不清楚什么是竞争资源、什么时候需要考虑同步&#xff0c;怎么同步等等问题&#xff0c;当然&#xff0c;这些问题没有很…

wpf浏览器应用程序发布后获取当前应用地址

AppDomain.CurrentDomain.ApplicationIdentity.CodeBase 获取作为URL的部署清单的位置 Eg&#xff1a;发布前地址为E:\PROJECTWORK\LandaV8\bin\Debug\xxxxx.xbap&#xff08;xxxxx.xbap为部署站点下的文件&#xff09;&#xff0c;部署后获取的地址为http://192.168.1.1/xxx…

微信小程序获取用户手机号,后端php实现 (前后端完整代码附效果图)

微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 如图&#xff1a; 小程序代码&#xff1a; 第一步&#xff0c;登录&#xff0c;获取用户的 session_key&#xff1b; 第二步&#xff0c;点击按钮调用 bindgetphonenumber 事件&#xff0c;通过该事件…

pytorch与keras_Keras vs PyTorch:如何通过迁移学习区分外星人与掠食者

pytorch与kerasby Patryk Miziuła通过PatrykMiziuła Keras vs PyTorch&#xff1a;如何通过迁移学习区分外星人与掠食者 (Keras vs PyTorch: how to distinguish Aliens vs Predators with transfer learning) This article was written by Piotr Migdał, Rafał Jakubanis…

Ubuntu 16.04安装QQ(不一定成功)

注意1&#xff1a;如果是刚新装的系统&#xff0c;可以正常安装&#xff0c;但是&#xff0c;如果你已经装了很多软件&#xff0c;千万不要安装&#xff0c;因为会把系统上一般的依赖包和你之前装的软件全部卸载掉&#xff01;甚至将桌面Dock都会卸载&#xff01;最终只能重装U…

for循环动态的给select标签添加option内容

微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 html <select class"form-control selectpicker" name"college" id"eq_num" data-actions-box"true" data-live-search"true" data-live-sea…

Linux下Debug模式启动Tomcat进行远程调试

J2EE开发各类资源下载清单, 史上最全IT资源&#xff0c;点击进入&#xff01; 一&#xff0e; 应用场景 在实际的测试过程中&#xff0c;可能会遇到由于程序执行的不间断性&#xff0c;我们无法构造测试场景来验证某个功能的正确性&#xff0c;只有通过代码级的调试才能验…

guice google_与Google Guice的动手实践

guice googleby Sankalp Bhatia通过Sankalp Bhatia 与Google Guice的动手实践 (A hands-on session with Google Guice) A few months ago, I wrote an article explaining dependency injection. I had mentioned of a follow-up article with a hands-on session of Google …

IQKeyboardManager使用方法

使用方法&#xff1a;将IQKeyboardManager 和 IQSegmentedNextPrevious类文件加进项目中。在AppDelegate文件中写下以下一行代码&#xff1a; [IQKeyBoardManager installKeyboardManager]; 搞定&#xff01; 也可以开启或者关闭keyboard avoiding功能&#xff1a; [IQKeyBoard…

JQ加AJAX 加PHP实现网页登录功能

微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 前端代码 <!DOCTYPE HTML> <html><head><link href"css/style.css" rel"stylesheet" type"text/css" media"all" /><meta http-eq…

web安全简介_Web安全:HTTP简介

web安全简介by Alex Nadalin通过亚历克斯纳达林 Web安全&#xff1a;HTTP简介 (Web Security: an introduction to HTTP) This is part 2 of a series on web security: part 1 was “Understanding The Browser”这是有关网络安全的系列文章的第2部分&#xff1a;第1部分是“…

继承实现的原理、子类中调用父类的方法、封装

一、继承实现的原来 1、继承顺序 Python的类可以继承多个类。继承多个类的时候&#xff0c;其属性的寻找的方法有两种&#xff0c;分别是深度优先和广度优先。 如下的结构&#xff0c;新式类和经典类的属性查找顺序都一致。顺序为D--->A--->E--->B--->C。 class E:…

hdu 5366 简单递推

记f[i]为在长度是i的格子上面至少放一个木桩的方法数。考虑第i个格子&#xff0c;有放和不放两种情况。 1.如果第i个格子放了一个木桩&#xff0c;则i - 1和i - 2格子上面不能放木桩&#xff0c;方案数为&#xff1a;f[i - 3] 1 2.如果第i个格子没有放木桩&#xff0c;则方案数…

git 代理 git_如何不再害怕GIT

git 代理 git了解减少不确定性的机制 (Understanding the machinery to whittle away the uncertainty) 到底什么是Git&#xff1f; (What is Git anyway?) “It’s a version control system.”“这是一个版本控制系统。” 我为什么需要它&#xff1f; (Why do I need it?)…

Python 基础 - Day 2 Assignment - ShoppingCart 购物车程序

作业要求 1、启动程序后&#xff0c;输入用户名密码后&#xff0c;如果是第一次登录&#xff0c;让用户输入工资&#xff0c;然后打印商品列表 2、允许用户根据商品编号购买商品 3、用户选择商品后&#xff0c;检测余额是否够&#xff0c;够就直接扣款&#xff0c;不够就提醒 4…