This time I will show you how to make a hexagonal picture with css. What are the precautions for making a hexagonal picture with css? The following is a practical case, let's take a look.
Using simple divs and pseudo elements, you can 'draw' this hexagonal picture. The principle is that three divs of the same width and height are combined into a hexagon through positioning and rotation, and then the background is used The pictures are layered to form a visual whole picture. Let’s implement it step by step below. (1) Then the first step is, of course, to draw the container. The container is a div with width and height. Before drawing, you must understand one issue, that is, the equilateral hexagon is formed by joining three divs with the same width and height (as shown in the figure below, so the width and height of the div must satisfy √3 times of conditions can be combined into a regular hexagon. I won’t teach you how to calculate this value here. If you are interested, you can use trigonometric functions to calculate it yourself. Here, I set the width of the outer container to be. 190px, height 110px, and then set the background image. The code is as follows<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <style> .wrap{ height:110px; width: 190px; position: relative; margin: 200px auto; background: url('./eddie.jpg') 50% 50% no-repeat; background-size: auto 220px; } </style> <body> <div class='wrap'> </div> </body> </html>(2) The second step is to draw the left div and its pseudo-element image . Use the new div to position and rotate. Flatten the left side of the hexagon, and set the width and height of the new div pseudo element and set the background image consistent with the picture above. Note that the width and height of the new div pseudo element are the width and height of the entire hexagon, and then rotate the pseudo element to make it so. The image is displayed vertically (the new div should be rotated, so the pseudo-element image is also rotated, so it needs to be reversely rotated back to the normal angle) and the position of the pseudo-element must be adjusted (the new div is rotated, which affects the positioning of the pseudo-element), and finally This new div is set beyond hiding, and the left side of the hexagon is drawn
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <style> .wrap{ height:110px; width: 190px; position: relative; margin: 200px auto; background: url('./eddie.jpg') 50% 50% no-repeat; background-size: auto 220px; } .common{ position: absolute; height: 100%; width: 100%; overflow: hidden; left:0; 23 } .common:before{ content:''; position: absolute; background:url('./eddie.jpg') 50% 50% no-repeat; background-size: auto 220px; width: 190px; height: 220px; } .left{ transform: rotate(60deg); } .left:before{ transform: rotate(-60deg) translate(48px,-28px); } </style> <body> <div class='wrap'> <div class='left common'></div> </div> </body> </html>(3) The third step is to draw the right div and its pseudo-element image The principle of this step is the same as the second one The same part, but the angle is reversed, so I won’t go into details. Just upload the complete code
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <style> .wrap{ height:110px; width: 190px; position: relative; margin: 200px auto; background: url('./eddie.jpg') 50% 50% no-repeat; background-size: auto 220px; } .common{ position: absolute; height: 100%; width: 100%; overflow: hidden; left:0; } .common:before{ content:''; position: absolute; background:url('./eddie.jpg') 50% 50% no-repeat; background-size: auto 220px; width: 190px; height: 220px; } .left{ transform: rotate(60deg); } .left:before{ transform: rotate(-60deg) translate(48px,-28px); } .right{ transform: rotate(-60deg); } .right:before{ transform: rotate(60deg) translate(48px,28px); bottom: 0; } </style> <body> <div class='wrap'> <div class='left common'></div> <div class='right common'></div> </div> </body> </html>. At this point, you can show the picture at the beginning of the article. Using this principle, you can also make various other The picture display effect of the shape. You are welcome to continue to study. In the future, the picture display will no longer be a single brick! I believe you have mastered the method, please pay attention to the php Chinese website for more exciting information. Other related articles! Related reading:
How to increase user experience in HTML5 drop-down box
The above is the detailed content of How to make a hexagonal picture in css. For more information, please follow other related articles on the PHP Chinese website!

在css中,可用list-style-type属性来去掉ul的圆点标记,语法为“ul{list-style-type:none}”;list-style-type属性可设置列表项标记的类型,当值为“none”可不定义标记,也可去除已有标记。

区别是:css是层叠样式表单,是将样式信息与网页内容分离的一种标记语言,主要用来设计网页的样式,还可以对网页各元素进行格式化;xml是可扩展标记语言,是一种数据存储语言,用于使用简单的标记描述数据,将文档分成许多部件并对这些部件加以标识。

在css中,可以利用cursor属性实现鼠标隐藏效果,该属性用于定义鼠标指针放在一个元素边界范围内时所用的光标形状,当属性值设置为none时,就可以实现鼠标隐藏效果,语法为“元素{cursor:none}”。

在css中,rtl是“right-to-left”的缩写,是从右往左的意思,指的是内联内容从右往左依次排布,是direction属性的一个属性值;该属性规定了文本的方向和书写方向,语法为“元素{direction:rtl}”。

在css中,可以利用“font-style”属性设置i元素不是斜体样式,该属性用于指定文本的字体样式,当属性值设置为“normal”时,会显示元素的标准字体样式,语法为“i元素{font-style:normal}”。

转换方法:1、给英文元素添加“text-transform: uppercase;”样式,可将所有的英文字母都变成大写;2、给英文元素添加“text-transform:capitalize;”样式,可将英文文本中每个单词的首字母变为大写。

在css3中,可以用“transform-origin”属性设置rotate的旋转中心点,该属性可更改转换元素的位置,第一个参数设置x轴的旋转位置,第二个参数设置y轴旋转位置,语法为“transform-origin:x轴位置 y轴位置”。


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

SublimeText3 English version
Recommended: Win version, supports code prompts!

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

SublimeText3 Mac version
God-level code editing software (SublimeText3)

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.