CSS技巧让你的网站更上一层楼

2024-06-20 00:38

本文主要是介绍CSS技巧让你的网站更上一层楼,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 CSS是网站的外衣,所谓人靠衣装,佛靠金装,CSS决定了你给用户的第一感觉。虽然一直在做网站的架构和后端开发,但是还是需要多揣点CSS技巧,以防万一。

01.DIV水平居中

DIV 水平居中很简单,只需要设置DIV的宽带以及让左右margins设置成auto:

div#container {width: 960px; margin: 0 auto }

02.文字垂直居中

单行文字居中,只需要将行高和容器高度设置成一样即可。比如下面的HTML代码:

<div id="container">我是一行字</div>

然后通过下面的样式就可以居中:

div#container {height: 35px; line-height: 35px;}

如何你有很多行字,只要将行高设置成容器的高度的1/N就好。
03.DIV垂直居中

比如有以下两个div,如何让包在中间的div垂直居中,这里有一篇详细的介绍文章。

<div id="f">
 <div id="s">Some Things!</div>
</div>

首先,将外层容器的定位为relative。

div#f{ position:relative; height:500px; }

然后,将里面的容器定位设置成absolute,再将它的左上角沿y轴下移50%,最后将它margin-top上移本身高度的50%即可。

div#s { position: absolute; top: 50%; height: 250px; margin-top: -125px; }

使用同样的思路,也可以做出水平居中的效果。
04.自适应宽带的图片

可以通过以下样式实现只适用外层容器大小的图片:

img {max-width: 100%}
/* IE 6 hack */
<!--[if IE 6]>
img {width: 100%}
<![endif]-->

05.3D按钮

要想让按钮具有3D效果,可以将它的左上部边框设为浅色,右下部边框设为深色即可。

div#button {
   background: #888;
   border: 1px solid;
   border-color: #999 #777 #777 #999;
  }

06. CSS Font 缩写

body {
   font-family: Arial, Helvetica, sans-serif;
   font-size: 13px;
   font-weight: normal;
   font-variant: small-caps;
   font-style: italic;
   line-height: 150%;
}
/* 可以缩写成以下这种方式 */
body {
   font: font-style font-variant font-weight font-size/line-height font-family;
}

详细介绍参见:A Primer on the CSS Font Shorthand Property
06.可以在DIV上设置多个class

<div class="class-1 class-2 class-3">content</div>

  class-2 {color: blue} 
  class-3 {color: green} 
  class-1 {color: red}

08.圆角

CSS3中很容易实现圆角:

.element {border-radius: 5px}

但是在CSS3还没全民普及之前我在 Safari, Chrome, 之类 webkit 核心的浏览器中使用 -webkit-border-radius 以及在 Firefox 这些基于 Mozilla 的浏览器使用 -moz-border-radius 来实现圆角。

/* Safari, Chrome */
.element {
   border-radius: 5px
   -webkit-border-radius: 5px
   -moz-border-radius: 5px
}
/* Firefox */
.element {
   border-top-left-radius: 5px
   -webkit-border-top-left-radius: 5px
   -moz-border-radius-top-left
}

至于其他的浏览器可以用JQuery 插件来实现圆角。

$(".element").corner("5px");

09.link 状态的设置顺序

a:link 
a:visited 
a:hover 
a:active

简单记忆法:love hate (LVHA)
10.Clearing and Containing Floats

使用 float 和 clear 设置容器的排序,具体的还是看这篇文章吧。
11.条件注释

条件注释只适用于IE这个杯具的浏览器。

<!--[if IE]>
<link rel="stylesheet" type="text/css" href="ie-stylesheet.css" />
< ![endif]-->
<!--[if IE 6]> - targets IE6 only -->
<!--[if gt IE 6]> - targets IE7 and above -->
<!--[if lt IE 6]> - targets IE5.5 and below -->
<!--[if gte IE 6]> - targets IE6 and above -->
<!--[if lte IE 6]> - targets IE6 and below -->

12.HTML Hack for IE

IE这个杯具的浏览器可以通过以下方式进行 hack 。被hack的css只会运行在特定的浏览器上。

/* the following rules apply only to IE6 */
* html{
}
* html body{
}
* html .foo{
}

/* the following rules apply only to IE7 */
* html .foo{
}

13.CSS的优先级

基本规则是:行内样式 > id样式 > class样式 > 标签名样式。
14.IE中min-height修正

由于IE6不支持min-height,我们可以通过以下这些方式修正:

/* 方法一 */
.element {
 min-height: 500px;
 height: auto !important;
 height: 500px;
}

/* 方法二 */
.element {
 min-height: 500px
 _height: 500px /* _ 只有IE6才能读取 */
}

15.font-size 基准

/* 假设浏览器的默认的大小是 16px , 首先将其设置为10px (font-size:10/16) */
body {font-size:10/16;}
/* 然后就可以用em做统一字体单位了 2.4em = 24px */
h1 {font-size: 2.4 em}

16.100% Height

通过内部容器将页面撑开,在IE中的min-height可以通过上面hack解决:

  html, body {height: 100%}
  #content {min-height: 100%}

17. CSS Drop Caps

首字母样式定义:

p:first-letter {
  display: block;
  float: left;
  margin: 5px 5px 0 0;
  color: red
  font-size: 1.4em;
  background: #ddd;
  font-family: Helvetica;
}

18.取消link外面的框框

a {outline: none} or a {outline: 0}

19.Text-transform

p {text-transform: uppercase} /* 全部大写 */
p {text-transform: lowercase} /* 全部小写 */
p {text-transform: capitalize} /* 首字母大写 */

20.Font Variant

只对英文有效,将字体整成等高的大写字体。

p {font-variant: small-caps}

21.移除带有链接的图片的外框

  a image {border: none} or a image {border: 0}

22.重置浏览器的CSS

参考 YUI 和 Eric Meyer 吧。
23.设置背景图的 Padding

  /* background-position {top-value left-value} */
  {background-position: 5px 5px}

24.用图片列表标志

默认情况下,浏览器是用一个黑圆圈作为列表标志,我们用图片取代它:

  ul {list-style: none}
  ul li {
    background-image: url("dot.png");
    background-repeat: none;
    background-position: 0 0.5em;
  }

25.透明容器

如何将容器设置成透明:

.element {
  filter:alpha(opacity=50); /* for ie */
  -moz-opacity:0.5; /* for ff */
  -khtml-opacity: 0.5; /* for webkit as chrome */
  opacity: 0.5; /* for opera */
}

26.三角形

如何使用CSS生成一个三角形?简单方案:将它四个边框中的三个边框设为透明,只剩下一个,就可以生成三角形效果:

.element {
  border-color: transparent transparent green transparent;
  border-style: solid;
  border-width: 0px 300px 300px 300px;
  height: 0px;
  width: 0px;
}

27. 禁止自动换行

h1 { white-space:nowrap; }

28.用图片替换文字

为了杯具的SEO,我需要在标题栏里用图片展现,同时也要保证搜索引擎能读到标题。

h1 {
  text-indent:-9999px;
  background:url("h1-image.jpg") no-repeat;
  width:200px;
  height:50px;
}

29.突显焦点元素

input:focus { border: 2px solid green; }

30.!important

多条CSS语句冲突时,具有!important的语句将覆盖其他语句。由于IE不支持!important,所以也可以利用它区分不同的浏览器。

/* IE 显示蓝色标题,其他浏览器显示红色标题 */
h1 {
  color: red !important;
  color: blue;
}

31.CSS实现提示框

当鼠标移动到链接上方,会自动出现一个提示框:

  <a class="tooltip" href="#">Link<span>Tooltips</span></a>

  a.tooltip {position: relative}
  a.tooltip span {display:none; padding:5px; width:200px;}
  a:hover {background:#fff;} /*background-color is a must for IE6*/
  a.tooltip:hover span{display:inline; position:absolute;}

32.固定页头

当页面滚动的时候,页首固定在位置不变,适合导航条:

body{ margin:0;padding:100px 0 0 0;}
  div#header{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:<length>;
}

@media screen{
 body>div#header{position: fixed;}
}

* html body{overflow:hidden;}
* html div#content{height:100%;overflow:auto;}

这篇关于CSS技巧让你的网站更上一层楼的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1076609

相关文章

Vue3 的 shallowRef 和 shallowReactive:优化性能

大家对 Vue3 的 ref 和 reactive 都很熟悉,那么对 shallowRef 和 shallowReactive 是否了解呢? 在编程和数据结构中,“shallow”(浅层)通常指对数据结构的最外层进行操作,而不递归地处理其内部或嵌套的数据。这种处理方式关注的是数据结构的第一层属性或元素,而忽略更深层次的嵌套内容。 1. 浅层与深层的对比 1.1 浅层(Shallow) 定义

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

【 html+css 绚丽Loading 】000046 三才归元阵

前言:哈喽,大家好,今天给大家分享html+css 绚丽Loading!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏+关注哦 💕 目录 📚一、效果📚二、信息💡1.简介:💡2.外观描述:💡3.使用方式:💡4.战斗方式:💡5.提升:💡6.传说: 📚三、源代码,上代码,可以直接复制使用🎥效果🗂️目录✍️

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

购买磨轮平衡机时应该注意什么问题和技巧

在购买磨轮平衡机时,您应该注意以下几个关键点: 平衡精度 平衡精度是衡量平衡机性能的核心指标,直接影响到不平衡量的检测与校准的准确性,从而决定磨轮的振动和噪声水平。高精度的平衡机能显著减少振动和噪声,提高磨削加工的精度。 转速范围 宽广的转速范围意味着平衡机能够处理更多种类的磨轮,适应不同的工作条件和规格要求。 振动监测能力 振动监测能力是评估平衡机性能的重要因素。通过传感器实时监

滚雪球学Java(87):Java事务处理:JDBC的ACID属性与实战技巧!真有两下子!

咦咦咦,各位小可爱,我是你们的好伙伴——bug菌,今天又来给大家普及Java SE啦,别躲起来啊,听我讲干货还不快点赞,赞多了我就有动力讲得更嗨啦!所以呀,养成先点赞后阅读的好习惯,别被干货淹没了哦~ 🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,助你一臂之力,带你早日登顶🚀,欢迎大家关注&&收藏!持续更新中,up!up!up!! 环境说明:Windows 10

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

Vue3项目开发——新闻发布管理系统(六)

文章目录 八、首页设计开发1、页面设计2、登录访问拦截实现3、用户基本信息显示①封装用户基本信息获取接口②用户基本信息存储③用户基本信息调用④用户基本信息动态渲染 4、退出功能实现①注册点击事件②添加退出功能③数据清理 5、代码下载 八、首页设计开发 登录成功后,系统就进入了首页。接下来,也就进行首页的开发了。 1、页面设计 系统页面主要分为三部分,左侧为系统的菜单栏,右侧

【VUE】跨域问题的概念,以及解决方法。

目录 1.跨域概念 2.解决方法 2.1 配置网络请求代理 2.2 使用@CrossOrigin 注解 2.3 通过配置文件实现跨域 2.4 添加 CorsWebFilter 来解决跨域问题 1.跨域概念 跨域问题是由于浏览器实施了同源策略,该策略要求请求的域名、协议和端口必须与提供资源的服务相同。如果不相同,则需要服务器显式地允许这种跨域请求。一般在springbo