2017-12-30 22 views
3

私は純粋なCSS CSSを持っています他の誰かのコードに基づいているdiv @ expand @ Collapse div @hereデフォルトでは隠れたテキストは折りたたみ可能ですが、クリック後にテキストが展開されると良いでしょう。CSSの折りたたみ/展開

誰もこのコードを編集して、クリックが最小限に抑えられる前にテキストが最小限になるようにする方法を提案していますか? javascriptが回避され、Wordpress compactibleならそれは良いでしょう。

<main> 
    <h2>CSS Expand/Collapse Section</h2> 
    <input id="toggle" type="checkbox" checked> 
    <label for="toggle">Hidden Kitten</label> 
    <div id="expand"> 
    <section> 
     <p>mew</p> 
    </section> 
    </div> 
    <section> 
    <h3>Other content</h3> 
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas porta non turpis faucibus lobortis. Curabitur non eros rutrum, gravida felis non, luctus velit. Ut commodo congue velit feugiat lobortis. Etiam nec dolor quis nulla bibendum blandit vitae nec enim. Maecenas id dignissim erat. Aenean ac mi nec ante venenatis interdum quis vel lacus. 
    </p> 
    <p>Aliquam ligula est, aliquet et semper vitae, elementum eget dolor. In ut dui id leo tristique iaculis eget a dui. Vestibulum cursus, dolor sit amet lacinia feugiat, turpis odio auctor nisi, quis pretium dui elit at est. Pellentesque lacus risus, vulputate sed gravida eleifend, accumsan ac ante. Donec accumsan, augue eu congue condimentum, erat magna luctus diam, adipiscing bibendum sem sem non elit.</p> 
    </section> 
</main> 

私はあなたが、スタートが崩壊イメージを持っているために探していると思うCSS

 @import url(https://fonts.googleapis.com/css?family=Open+Sans:400,700); 

body { 
    font-family: "Open Sans", Arial; 
    background: #CCC; 
} 
main { 
    background: #EEE; 
    width: 600px; 
    margin: 20px auto; 
    padding: 10px 0; 
    box-shadow: 0 3px 5px rgba(0,0,0,0.3); 
} 
h2 { 
    text-align: center; 
} 
p { 
    font-size: 13px; 
} 
input { 
    display: none; 
    visibility: hidden; 
} 
label { 
    display: block; 
    padding: 0.5em; 
    text-align: center; 
    border-bottom: 1px solid #CCC; 
    color: #666; 
} 
label:hover { 
    color: #000; 
} 
label::before { 
    font-family: Consolas, monaco, monospace; 
    font-weight: bold; 
    font-size: 15px; 
    content: "+"; 
    vertical-align: text-top; 
    display: inline-block; 
    width: 20px; 
    height: 20px; 
    margin-right: 3px; 
    background: radial-gradient(ellipse at center, #CCC 50%, transparent 50%); 
} 
#expand { 
    height: 0px; 
    overflow: hidden; 
    transition: height 0.5s; 
    background: url(http://placekitten.com/g/600/300); 
    color: #FFF; 
} 
section { 
    padding: 0 20px; 
} 
#toggle:checked ~ #expand { 
    height: 250px; 
} 
#toggle:checked ~ label::before { 
    content: "-"; 
} 

答えて

2

これを達成するには、入力チェックボックスからchecked属性を削除するだけです。

変更を行います。

<input id="toggle" type="checkbox" checked> 

:ここ

<input id="toggle" type="checkbox"> 

は、あなたのコードがrunableスニペットである:

body { 
 
    font-family: "Open Sans", Arial; 
 
    background: #CCC; 
 
} 
 

 
main { 
 
    background: #EEE; 
 
    width: 600px; 
 
    margin: 20px auto; 
 
    padding: 10px 0; 
 
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.3); 
 
} 
 

 
h2 { 
 
    text-align: center; 
 
} 
 

 
p { 
 
    font-size: 13px; 
 
} 
 

 
input { 
 
    display: none; 
 
    visibility: hidden; 
 
} 
 

 
label { 
 
    display: block; 
 
    padding: 0.5em; 
 
    text-align: center; 
 
    border-bottom: 1px solid #CCC; 
 
    color: #666; 
 
} 
 

 
label:hover { 
 
    color: #000; 
 
} 
 

 
label::before { 
 
    font-family: Consolas, monaco, monospace; 
 
    font-weight: bold; 
 
    font-size: 15px; 
 
    content: "+"; 
 
    vertical-align: text-top; 
 
    display: inline-block; 
 
    width: 20px; 
 
    height: 20px; 
 
    margin-right: 3px; 
 
    background: radial-gradient(ellipse at center, #CCC 50%, transparent 50%); 
 
} 
 

 
#expand { 
 
    height: 0px; 
 
    overflow: hidden; 
 
    transition: height 0.5s; 
 
    background: url(http://placekitten.com/g/600/300); 
 
    color: #FFF; 
 
} 
 

 
section { 
 
    padding: 0 20px; 
 
} 
 

 
#toggle:checked~#expand { 
 
    height: 250px; 
 
} 
 

 
#toggle:checked~label::before { 
 
    content: "-"; 
 
}
<main> 
 
    <h2>CSS Expand/Collapse Section</h2> 
 
    <input id="toggle" type="checkbox"> 
 
    <label for="toggle">Hidden Kitten</label> 
 
    <div id="expand"> 
 
    <section> 
 
     <p>mew</p> 
 
    </section> 
 
    </div> 
 
    <section> 
 
    <h3>Other content</h3> 
 
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas porta non turpis faucibus lobortis. Curabitur non eros rutrum, gravida felis non, luctus velit. Ut commodo congue velit feugiat lobortis. Etiam nec dolor quis nulla bibendum blandit 
 
     vitae nec enim. Maecenas id dignissim erat. Aenean ac mi nec ante venenatis interdum quis vel lacus. 
 
    </p> 
 
    <p>Aliquam ligula est, aliquet et semper vitae, elementum eget dolor. In ut dui id leo tristique iaculis eget a dui. Vestibulum cursus, dolor sit amet lacinia feugiat, turpis odio auctor nisi, quis pretium dui elit at est. Pellentesque lacus risus, vulputate 
 
     sed gravida eleifend, accumsan ac ante. Donec accumsan, augue eu congue condimentum, erat magna luctus diam, adipiscing bibendum sem sem non elit.</p> 
 
    </section> 
 
</main>

1

inputcheckedを削除するだけで十分です。

それは次のようになります。

<input id="toggle" type="checkbox"> 
関連する問題