- logo+文字,建议 logo 用 background 做,否则 logo 和文字对齐很麻烦,需要定位来做。
- 扩展性:菜单栏 li 不推荐用 width,用 margin 来扩充,因为 width 字数多的话可能引起布局的问题。
- 扩展性:菜单栏 div 不推荐用 height,用 line-height 来扩充。
- padding 对实体起作用,所以对背景不会起作用,背景不属于实体。
- css 多的话,推荐横着写“.xxx{ a:b; c:d }”,帮助定位查找(注意:空格、格式)。
- a:link、visited、hover、active,注意顺序,继承作用,一般link、visited配置一样,写在一起,hover单独配置,active不需要配置。注意:其他标签也类似,选择器:伪元素。
- 行内元素+<br> ~ display:block。
- 0可省略px,非0不可省略px。
- 后代选择器:div .a1{...} /* 当前 div 无效 */
div .a1{ color:blue; } <div class="a1">我是div</div>
10.使用<ul><li></li><li></li><li></li></ul>一定要去掉其固有的样式和间距方法:11.ul{ margin:0px; padding:0px; list-style:none }。
12.能用 CSS 就不要用 JS,因为 JS 会占用内存、加载速度。
导航菜单显隐(CSS 方案替代 JS)
/* 导航菜单显隐(CSS 方案替代 JS) */ .nav .menu{ display:none; } .nav ul li:hover .menu{ display:block; } <div class="nav"> <ul> <li>女装 <div class="menu"><a>1</a><a>2</a></div> </li> </ul> </div>
opacity(不透明性) /* 把当前整个元素透明掉,包括里面的内容 */
background:rgba(255,255,255,0.5) /* 只透明背景 */
box-shadow:inset px px px px rgb /* 左上角为(0,0),Y轴向下为正,X轴向右为正。参数:投影方式 X轴 Y轴 模糊半径 扩展半径 颜色 */ /* 多边不同投影 */ /* text-shadow 也类似这种做法 */
下拉菜单既想与导航栏有空隙,也想鼠标滑动到上面空隙处不会 li:hover 效果消失
/* 下拉菜单既想与导航栏有空隙,也想鼠标滑动到上面空隙处不会 li:hover 效果消失 */ .menu-bridge{ margin-top:15px; } <div class="nav"> <ul> <li>女装 <div class="menu"> <div class="menu-bridge"><a>1</a><a>2</a></div> </div> </li> </ul> </div>
input 标签初始化:input{ margin:0; padding:0; outline: 0; },属于行内替换元素。
background-size:cover; 是让该容器里的背景图强行等比例放大或者缩小,来填充该容器的所有空间,该属性很可能不会让背景图显示完整,只显示部分。
background-size: contain; 是让该容器里的背景图强行等比例放大或者缩小,当宽度或者高度只要一方填满,就停止,该属性一定会让背景图显示完整。
表单元素:一般只可修改 输入框、按钮 样式,其他不要修改,很复杂,网上的一些炫酷元素,比如:下拉菜单、单选框...是用 div + js 模拟出来的。
position:absolute、float、display:block:都可以把行内元素转化成块级元素。
text-align:center:对块级元素无效的,只能对块级元素里的文字和图片有效的。
网上看到一张图有很多元素(一张网页的元素都集成在一张图里),为的是减少服务器的请求,减轻压力。
transition:width 1s 2s linear; 参数:全部属性(默认不填) 执行时间 延迟时间 速率方式。
Ps1:速率方式:
ease-in-out:先加速后减速(默认)。
linear:匀速(常用)。
Ps2:多个属性 transition,可以用逗号。
overflow:hidden; 将包含在里面的内容超出当前的实际宽度、高度,则隐藏。
overflow[-x / -y]:auto:超出部分自动处理,会通过滚动条的方式。
transform:
rotate(度); /* 旋转 */
scale(x,y); /* 缩放,倍数关系:x/y轴 */
Ps:在scale()函数中,取值除了可以取正值之外,同时还可以取负值。只不过取负值时,会先让元素进行翻转,然后在进行缩放。
skew(度); /* 倾斜,不常用 */
translate(px,px); /* 位移,与margin不一样,margin不会穿透,translate会穿透 */
transform-origin:left bottom; /* 轴心点:先左右再上下,也可以用 px 控制 */
transform:rotate(60deg) scale(1.2) translate(45px) skew(30deg); /* 写多个属性的时候,用空格隔开 */