Dev Blog

스크립트 & 소스코드 공유

실무에서 유용하게 쓰는 스크립트와 코드 조각을 블로그 게시판으로 저장하고 공유합니다.

총 27건의 글

다중 브라우저 호환 CSS 이미지 좌우 반전(미러) 효과

한 장의 이미지로 좌우가 대칭인 미러 이미지를 만드는 CSS 기법을 소개한다. 기존에 IE에서만 동작하던 필터 방식 대신, 파이어폭스·크롬 등 다중 브라우저에서 지원되는 transform: scaleX(-1) 스타일을 이용하며, 이미지에 적용하는 CSS 정의와 HTML에서 사용하는 예제 코드를 함께 보여준다.

今天接到一个需求,通过一张图片得到其镜像对称的图片。本来说是后台处理的,但这样除了技术上难实现之外,还带来了资源消耗的问题,相当于每张图都要存储一个副本了。

只记得以前用过css的滤镜可以实现这个,但只在IE下有效。后来找到一个兼容多浏览器的样式,大爱。

css样式定义:

.flip-horizontal {
-moz-transform: scaleX(-1);
-webkit-transform: scaleX(-1);
-o-transform: scaleX(-1);
transform: scaleX(-1);
filter: fliph; /*IE*/ }
.flip-vertical {
-moz-transform: scaleY(-1);
-webkit-transform: scaleY(-1);
-o-transform: scaleY(-1);
transform: scaleY(-1);
filter: flipv; /*IE*/ }

HTML引用示例:

<img src="/data/editor/2004/logo-zhidao_Znb6RGemhY4.gif" class="flip-horizontal" />
<img src="/data/editor/2004/logo-zhidao_Znb6RGemhY4.gif" class="flip-vertical" />

CSS3 calc():CSS 实现简单的数学运算(加减乘除)

CSS3의 calc() 함수를 이용해 JavaScript 없이 스타일 시트 안에서 사칙연산을 수행하는 방법을 소개한다. width: calc(100% - 100px) 같은 기본 사용법과 3단 등폭 레이아웃 예제, + · - · * · / 연산 규칙, px·em·rem·% 단위 혼용 계산, 브라우저별 지원 현황, 그리고 연산자 앞뒤에 공백이 없으면 적용되지 않는 주의사항까지 정리했다.

多好的东西啊,不用js,一个css就解决了。

.box{
border:1px solid #ddd;
width:calc(100% - 100px);
background:#9AC8EB;
}

3栏等宽布局

.box{
margin-left:20px;
width:calc(100%/3 - 20px);
}
.box:nth-child(3n){
margin-left:0;
}

运算规则

calc()使用通用的数学运算规则,但是也提供更智能的功能:

使用“+”“-”“*”“/”四则运算;

可以使用百分比、px、em、rem等单位;

可以混合使用各种单位进行计算。

浏览器支持

firefox 4.0+已经开支支持calc()功能,不过要使用-moz-calc()私有属性,chrome从19 dev版,也开始支持私有的-webkit-calc()写法,IE9这次则牛逼了一次,原生支持标准的不带前缀的写法了。Opera貌似还不支持~~

注意:

在[http://www.qianduan.net/calc-at-at-at-page-intelligent-layout.html看到的,他的原文中width:calc(100%-100px)是没有空格的,经测试无效,就像其评论中:calc()里面的表达式好像要注意格式。](http://www.qianduan.net/calc-at-at-at-page-intelligent-layout.html看到的,他的原文中width:calc(100%-100px)是没有空格的,经测试无效,就像其评论中:calc()里面的表达式好像要注意格式。)



Let's create something great together.

프로젝트 문의 및 견적 요청은 언제든 환영합니다.