<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>HTML on Zhou&#39;s blog</title>
        <link>https://blog.zhoujump.com/en/categories/html/</link>
        <description>Recent content in HTML on Zhou&#39;s blog</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>en</language>
        <lastBuildDate>Fri, 18 Apr 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.zhoujump.com/en/categories/html/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>How to embed UnityWeb3D into a page</title>
        <link>https://blog.zhoujump.com/en/p/insert-unity/</link>
        <pubDate>Fri, 18 Apr 2025 00:00:00 +0000</pubDate>
        
        <guid>https://blog.zhoujump.com/en/p/insert-unity/</guid>
        <description>&lt;img src="https://blog.zhoujump.com/en/p/insert-unity/cover.en.webp" alt="Featured image of post How to embed UnityWeb3D into a page" /&gt;&lt;blockquote&gt;
&lt;p&gt;Original article: &lt;a class=&#34;link&#34; href=&#34;https://blog.zhoujump.com/en/p/insert-unity/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;How to embed UnityWeb3D into a page&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;With the improvement of equipment performance now, it is no longer a rare thing to insert 3D models into the website. Moreover, inserting 3D elements can greatly improve the user experience, and some user interactions can give people a very amazing experience.
&lt;img src=&#34;https://blog.zhoujump.com/p/insert-unity/1-1.gif&#34;
	width=&#34;2542&#34;
	height=&#34;860&#34;
	
	loading=&#34;lazy&#34;
	
		alt=&#34;An example of inserting a UnityWeb3D effect&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;295&#34;
		data-flex-basis=&#34;709px&#34;
	
&gt;
Currently, the most popular Web3D technologies include three.js, visual editing models and interactive splines, but the difficulty of learning three.js and the high price of spline are enough to discourage some people.
So are there more economical and simpler technologies? Some are some, some are some, and UnityWeb3D may be a good choice.&lt;/p&gt;</description>
        </item>
        <item>
        <title>Pure CSS to achieve the effect of circular flipping</title>
        <link>https://blog.zhoujump.com/en/p/index-checked/</link>
        <pubDate>Fri, 27 Sep 2024 00:00:00 +0000</pubDate>
        
        <guid>https://blog.zhoujump.com/en/p/index-checked/</guid>
        <description>&lt;img src="https://blog.zhoujump.com/p/index-checked/cover.webp" alt="Featured image of post Pure CSS to achieve the effect of circular flipping" /&gt;&lt;blockquote&gt;
&lt;p&gt;Original article: &lt;a class=&#34;link&#34; href=&#34;https://blog.zhoujump.com/en/p/index-checked/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Pure CSS to achieve the effect of circular flipping&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2 id=&#34;see-the-effect-first&#34;&gt;See the effect first
&lt;/h2&gt;&lt;p&gt;Click on the card to switch one, and the entire implementation process does not use js. In addition to the two cards, this sample actually has two transparent &lt;code&gt;input&lt;/code&gt;s. You actually click on these two &lt;code&gt;input&lt;/code&gt;s, and these two &lt;code&gt;input&lt;/code&gt;s will modify their own &lt;code&gt;z-index&lt;/code&gt; properties after clicking, ensuring that you will definitely click on another one next time you click.&lt;/p&gt;</description>
        </item>
        <item>
        <title>Pure CSS Rating Component</title>
        <link>https://blog.zhoujump.com/en/p/input-star/</link>
        <pubDate>Wed, 25 Sep 2024 00:00:00 +0000</pubDate>
        
        <guid>https://blog.zhoujump.com/en/p/input-star/</guid>
        <description>&lt;img src="https://blog.zhoujump.com/p/input-star/cover.webp" alt="Featured image of post Pure CSS Rating Component" /&gt;&lt;blockquote&gt;
&lt;p&gt;Original article: &lt;a class=&#34;link&#34; href=&#34;https://blog.zhoujump.com/en/p/input-star/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Pure CSS Rating Component&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2 id=&#34;see-the-effect-first&#34;&gt;See the effect first
&lt;/h2&gt;&lt;p&gt;The following is a rating component implemented purely by CSS. Click on the star to rate. Different ratings will display different colors.&lt;/p&gt;
&lt;div class=&#34;cont&#34;&gt; &lt;input class=&#34;radio&#34; name=&#34;star&#34; id=&#34;star1&#34; type=&#34;radio&#34;&gt; &lt;input class=&#34;radio&#34; name=&#34;star&#34; id=&#34;star2&#34; type=&#34;radio&#34;&gt; &lt;input class=&#34;radio&#34; name=&#34;star&#34; id=&#34;star3&#34; type=&#34;radio&#34;&gt; &lt;input class=&#34;radio&#34; name=&#34;star&#34; id=&#34;star4&#34; type=&#34;radio&#34;&gt; &lt;input class=&#34;radio&#34; name=&#34;star&#34; id=&#34;star5&#34; type=&#34;radio&#34;&gt; &lt;label class=&#34;label&#34; for=&#34;star1&#34;&gt;★&lt;/label&gt; &lt;label class=&#34;label&#34; for=&#34;star2&#34;&gt;★&lt;/label&gt; &lt;label class=&#34;label&#34; for=&#34;star3&#34;&gt;★&lt;/label&gt; &lt;label class=&#34;label&#34; for=&#34;star4&#34;&gt;★&lt;/label&gt; &lt;label class=&#34;label&#34; for=&#34;star5&#34;&gt;★&lt;/label&gt; &lt;/div&gt; &lt;style&gt; .cont{ position: relative; display: flex; } .radio{ display: none; } .label{ color: #ccc; transition-duration:.3s; font-size: 24px; scale:.9; } #star1:checked ~ .label:nth-child(6), #star2:checked ~ .label:nth-child(-n+7) { color:#515A5A; transition-duration:.3s; scale: 1; } #star3:checked ~ .label:nth-child(-n+8), #star4:checked ~ .label:nth-child(-n+9){ color:#3498db; transition-duration:.3s; scale: 1; } #star5:checked ~ .label{ color:#f1c40f; transition-duration:.3s; scale: 1; }
&lt;/style&gt;
&lt;p&gt;This component is an upgraded version of the article &lt;a class=&#34;link&#34; href=&#34;https://blog.zhoujump.com/p/checked-css/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Realize option selection effect without using js&lt;/a&gt;. Some prerequisite knowledge is mentioned in it. Students who are interested can read this article first.&lt;/p&gt;</description>
        </item>
        <item>
        <title>Add transition animation for elements with uncertain height</title>
        <link>https://blog.zhoujump.com/en/p/grid-transition/</link>
        <pubDate>Tue, 24 Sep 2024 00:00:00 +0000</pubDate>
        
        <guid>https://blog.zhoujump.com/en/p/grid-transition/</guid>
        <description>&lt;img src="https://blog.zhoujump.com/p/grid-transition/cover.webp" alt="Featured image of post Add transition animation for elements with uncertain height" /&gt;&lt;blockquote&gt;
&lt;p&gt;Original article: &lt;a class=&#34;link&#34; href=&#34;https://blog.zhoujump.com/en/p/grid-transition/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Add transition animation for elements with uncertain height&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Sometimes we encounter this situation where the container is stretched by elements and its height cannot be known, but a smooth transition is required. Like this:&lt;/p&gt;
&lt;div class=&#34;cont&#34;&gt;
    &lt;div class=&#34;head&#34;&gt;Try touching my head with your mouse&lt;/div&gt;
    &lt;div class=&#34;body&#34;&gt;
        I am the content&lt;/br&gt;
        I am the content&lt;/br&gt;
        I am the content&lt;/br&gt;
        I am the content&lt;/br&gt;
    &lt;/div&gt;
&lt;/div&gt;
&lt;style&gt;
    .cont{
    display:grid;
    background:#99e6ff;
    color:#006080;
    grid-template-rows: 30px 0fr;
    border-radius:8px;
    transition: .3s;
    padding:10px;
    line-height:30px;
    margin-bottom:20px;
    }
    .cont:hover{
    grid-template-rows: 30px 1fr;
    transition: .3s;
    
    }
    .body{
    min-height: 0;
    overflow:hidden;
    }
&lt;/style&gt;
&lt;p&gt;I believe that CSS beginners have tried this:&lt;/p&gt;</description>
        </item>
        <item>
        <title>How to implement an input box whose width changes with the text</title>
        <link>https://blog.zhoujump.com/en/p/contenteditable-input/</link>
        <pubDate>Tue, 24 Sep 2024 00:00:00 +0000</pubDate>
        
        <guid>https://blog.zhoujump.com/en/p/contenteditable-input/</guid>
        <description>&lt;img src="https://blog.zhoujump.com/p/contenteditable-input/cover.webp" alt="Featured image of post How to implement an input box whose width changes with the text" /&gt;&lt;blockquote&gt;
&lt;p&gt;Original article: &lt;a class=&#34;link&#34; href=&#34;https://blog.zhoujump.com/en/p/contenteditable-input/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;How to implement an input box whose width changes with the text&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Sometimes we need to make an input component whose width changes with the input text, such as the tag input box below:&lt;/p&gt;
&lt;div
style=&#34;height: 30px;background:#99e6ff;color:#006080; padding:0 8px; border-radius: 5px; display: inline-block;line-height: 30px;outline: none;margin-bottom: 16px;&#34;
contenteditable=&#34;true&#34;&gt;My content is editable&lt;/div&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-html&#34; data-lang=&#34;html&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;div&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;na&#34;&gt;style&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;height: 30px;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;    background:#99e6ff;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;    color:#006080;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;    padding:0 8px;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;    border-radius:5px;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;    display:inline-block;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;    line-height:30px;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;    outline: none;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;    margin-bottom: 16px;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;na&#34;&gt;contenteditable&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;true&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;My content is editable&lt;span class=&#34;p&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;div&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;At this time, regular input seems a bit difficult because the width of input is fixed.&lt;/p&gt;</description>
        </item>
        
    </channel>
</rss>
