>웹 프론트엔드 >CSS 튜토리얼 >잘 알려지지 않은 CSS 기술 10가지_CSS/HTML

잘 알려지지 않은 CSS 기술 10가지_CSS/HTML

WBOY
WBOY원래의
2016-05-16 12:11:371173검색

本翻译并未得到作者或网站授权。一切权利都归原作者及原网站所有。

如果你得到原作者或原发表网站的授权,可以自由使用本翻译。

1.CSS字体属性简写规则

一般用CSS设定字体属性是这样做的:

font-weight:bold;

font-style:italic;

font-varient:small-caps;

font-size:1em;

line-height:1.5em;

font-family:verdana,sans-serif;

但也可以把它们全部写到一行上去:

font: bold italic small-caps 1em/1.5em verdana,sans-serif;

真不错!只有一点要提醒的:这种简写方法只有在同时指定font-size和font-family属性时才起作用。而且,如果你没有设定font-weight, font-style, 以及 font-varient ,他们会使用缺省值,这点要记上。

2. 同时使用两个类

一般只能给一个元素设定一个类(Class),但这并不意味着不能用两个。事实上,你可以这样:

...

同时给P元素两个类,中间用空格格开,这样所有text和side两个类的属性都会加到P元素上来。如果它们两个类中的属性有冲突的话,后设置的起作用,即在CSS文件中放在后面的类的属性起作用。

补充:对于一个ID,不能这样写

...

也不能这样写

3. CSS border的缺省值

通常可以设定边界的颜色,宽度和风格,如:

border: 3px solid #000

这位把边界显示成3像素宽,黑色,实线。但实际上这里只需要指定风格即可。

如果只指定了风格,其他属性就会使用缺省值。一般地,Border的宽度缺省是medium,一般等于3到4个像素;缺省的颜色是其中文字的颜色。如果这个值正好合适的话,就不用设那么多了。

4. CSS用于文档打印

许多网站上都有一个针对打印的版本,但实际上这并不需要,因为可以用CSS来设定打印风格。

也就是说,可以为页面指定两个CSS文件,一个用于屏幕显示,一个用于打印:

第1行就是显示,第2行是打印,注意其中的media属性。

但 应该在打印CSS中写什么东西呢?你可以按设计普通CSS的方法来设定它。设计的同时就可以把这个CSS设成显示CSS来检查它的效果。也许你会使用 display: none 这个命令来关掉一些装饰图片,再关掉一些导航按钮。要想了解更多,可以看“打印差异”这一篇。

5. 图片替换技巧

一般都建议用标准的HTML来显示文字,而不要使用图片,这样不但快,也更具可读性。但如果你想用一些特殊字体时,就只能用图片了。

比如你想整个卖东西的图标,你就用了这个图片:

Buy widgets

这当然可以,但对搜索引擎来说,和正常文字相比,它们对alt里面的替换文字几乎没有兴趣这是因为许多设计者在这里放许多关键词来骗搜索引擎。所以方法应该是这样的:

Buy widgets

但这样就没有特殊字体了。要想达到同样效果,可以这样设计CSS:

h1 { background: url(widget-image.gif) no-repeat; height: image height text-indent: -2000px }

이미지 높이를 실제 이미지의 높이로 바꾸도록 주의하세요. 여기서는 이미지가 배경으로 표시되며 들여쓰기가 -2000픽셀로 설정되어 있으므로 실제 텍스트는 화면 왼쪽에 2000포인트 나타나 보이지 않게 됩니다. 하지만 사진을 꺼두시는 분들은 아예 못 보실 수도 있으니 주의하시기 바랍니다.

6. CSS 상자 모델을 위한 또 다른 조정 기술

이 Box 모델의 조정은 주로 IE6 이전의 IE 브라우저에 적용됩니다. 테두리 너비와 공백을 요소 너비로 계산합니다. 예:

#box { 너비: 100px; 테두리: 5px }

이렇게 부르세요:

...

이제 상자의 전체 너비는 150포인트가 되어야 하며 이는 IE6 이전의 IE를 제외한 모든 브라우저에서 정확합니다. 그러나 IE5와 같은 브라우저에서는 전체 너비가 여전히 100포인트입니다. 이 차이는 이전 사람들이 발명한 상자 조정 방법을 사용하여 처리할 수 있습니다.

그러나 CSS를 사용하여 일관성 있게 표시하면 동일한 목적을 달성할 수 있습니다.

#box { 너비: 150px } #box div { 테두리: 5px }

다음과 같이 전화하세요.

...

이렇게 하면 어떤 브라우저에서든 너비는 150포인트가 됩니다.

7. 블록 요소를 중앙에 정렬

폭이 고정된 웹페이지를 만들고 웹페이지를 가로 중앙에 배치하려는 경우 일반적으로 다음과 같습니다.

#content { 너비: 700px; 여백: 0 자동 }

를 사용하여 모든 요소를 ​​둘러쌉니다. 이는 간단하지만 충분하지 않으며 IE6 이전 버전에서는 이 효과가 표시되지 않습니다. CSS를 다음과 같이 변경하세요.

body { text-align: center } #content { text-align: width: 700px margin: 0 auto }

이렇게 하면 웹페이지 콘텐츠가 중앙에 배치되므로 Content에

를 추가했습니다.

텍스트 정렬: 왼쪽 .

8. CSS를 사용하여 수직 정렬 처리

테이블을 사용하여 쉽게 수직 정렬을 수행할 수 있습니다. 테이블 단위를 수직 정렬: 중간으로 설정하면 됩니다. 그러나 이것은 CSS에서는 쓸모가 없습니다. 탐색 모음을 2em 높이로 설정하고 탐색 텍스트를 수직 중앙에 배치하려는 경우 이 속성을 설정하는 것은 쓸모가 없습니다.

CSS 방식이란 무엇인가요? 그런데 이 단어의 줄 높이를 2em으로 설정하면 됩니다. line-height: 2em이면 끝입니다.

9. 컨테이너 내 CSS 위치 지정

CSS의 장점 중 하나는 컨테이너 내에서도 요소를 임의로 배치할 수 있다는 것입니다. 예를 들어 이 컨테이너의 경우:

#container { 위치: 상대 }

이렇게 하면 컨테이너의 모든 요소가 상대적으로 배치됩니다.

왼쪽에서 30점, 위쪽에서 5점을 찾으려면 다음과 같이 하세요.

#navigation { 위치: 절대; 왼쪽: 30px 위쪽: 5px }

물론 다음과 같이 할 수도 있습니다.

여백: 5px 0 0 30px

4개 숫자의 순서는 위쪽, 오른쪽, 아래쪽, 왼쪽입니다. 물론 때로는 여백보다 위치 지정이 더 나을 때도 있습니다.

10. 배경색은 화면 하단까지 그대로

세로 방향 제어는 CSS의 기능을 벗어납니다. 내비게이션 바를 콘텐츠 바와 같이 페이지 하단으로 바로 이동시키고 싶다면 테이블을 사용하는 것이 매우 편리하지만, CSS만 사용한다면 다음과 같습니다.

#navigation { 배경: 너비: 150px }

짧은 내비게이션 바는 바로 하단으로 이동하지 않으며 콘텐츠가 중간에 끝나면 종료됩니다. 무엇을 해야 할까요?

아쉽게도 치트를 할 수 있는 유일한 방법은 더 짧은 열에 배경 이미지를 열 너비와 동일한 너비로 추가하고 설정된 배경색과 동일한 색상으로 만드는 것입니다.

본문 { 배경: url(blue-image.gif) 0 0 반복-y }

지금은 em을 단위로 사용할 수 없습니다. 독자가 글꼴 크기를 변경하면 트릭이 공개되고 px만 사용할 수 있기 때문입니다.

원본 출처:
http://blog.csdn.net/zhoujian2003/archive/2006/04/28/696012.aspx

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.