The right way to set z-index - css

I have that html
<div id="menu">
<a class="active"></a>
</div>
<div id="content"></div>
And that css
#menu {
position:absolute;
z-index:1;
}
#content {
position:absolute;
z-index:2;
text-shadow: -10px 3px 10px rgba(0,0,0,.23),0 3px 10px rgba(0,0,0,.16);
}
#menu a.active:after {
position:absolute;
z-index:3;
text-shadow: -10px 3px 10px rgba(0,0,0,.23),0 3px 10px rgba(0,0,0,.16);
}
I want a.active:after was above then #content so that the shadow does not dropped on the a.active:after. How i can do this?

Try like this: Demo
I removed box shadow from #content and added to #menu as inner shadow.
CSS:
#menu {
position:absolute;
z-index:7;
width:200px;
height:100%;
background:green;
box-shadow:inset -10px 3px 10px rgba(0, 0, 0, .23), inset 0 3px 10px rgba(0, 0, 0, .16);
overflow:hidden;
}
#menu a.active {
padding:5px;
background:#fff;
display:block;
margin-top:20px;
z-index:9;
}
#content {
position:absolute;
z-index:3;
width:100%;
height:100%;
background:yellow;
left:200px;
}
#menu a.active:after {
content:"";
position: absolute;
width: 24px;
height: 24px;
background: yellow;
transform: rotate(45deg);
/* Prefixes... */
top: 21px;
right: -11px;
box-shadow: -10px 3px 10px rgba(0, 0, 0, .23), 0 3px 10px rgba(0, 0, 0, .16);
}

Related

How to make box-shadow inside transparent element

When the element is transparent, the shadow isn't inside that element. Look at this example:
box-shadow: 0px 0px 50px 30px rgba(0, 0, 0, 0.5);
https://jsfiddle.net/yrqvdbux/6/
html, body {
width:100%;height:100%; margin:0;
}
* {
box-sizing:border-box;
}
.bg {
width:100%; height:100%;
background-color:#33FF55;
}
.shadow {
width:100px; height:100px;
position:absolute;
top:100px; left:100px;
box-shadow: 0px 0px 50px 30px rgba(0, 0, 0, 0.5);
}
<div class="bg">
<div class="shadow"></div>
</div>
How to make the shadow inside the box?
When i add background-color property it looks quite good, but look at the corners, it doesn't fit.
https://jsfiddle.net/y8o47pm9/5/
html, body {
width:100%;height:100%; margin:0;
}
* {
box-sizing:border-box;
}
.bg {
width:100%; height:100%;
background-color:#33FF55;
}
.shadow {
width:100px;
position:absolute;
top:100px; left:100px;
box-shadow: 0px 0px 50px 30px rgba(0, 0, 0, 0.5);
background-color: rgba(0, 0, 0, 0.45);
color:#fff;
font-size:25px;
text-align:center;
padding:20px 0;
}
<div class="bg">
<div class="shadow">Test</div>
</div>
Use inset to make the shadow inside the box.
Replace the box-shadow: 0px 0px 50px 30px rgba(0, 0, 0, 0.5); with box-shadow: inset 0px 0px 10px 3px rgba(0, 0, 0, 0.5);
html, body {
width:100%;height:100%; margin:0;
}
* {
box-sizing:border-box;
}
.bg {
width:100%; height:100%;
background-color:#33FF55;
}
.shadow {
width:100px; height:100px;
position:absolute;
top:100px; left:100px;
box-shadow: inset 0px 0px 10px 3px rgba(0, 0, 0, 0.5);
}
<div class="bg">
<div class="shadow"></div>
</div>

avoid menu li bottom shadow css

I'm working on a menu list and I want to get rid of the shadow under the selected li, in this example the letter C.
This is my code so far.
html,
body {
background: #0769AD;
margin: 0 auto;
padding: 0;
}
div {
width: 400px;
margin: 0 auto;
padding: 0;
text-align: center;
}
div ul {
background: #fff;
width: 100%;
margin: 0;
padding: 0;
border-radius: 0px 0px 10px 10px;
box-shadow: rgba(255, 255, 255, 0.3) 0 1px 0, rgba(0, 0, 0, 0.3) 0 -1px 0;
box-shadow: 0 0 5px rgba(1, 1, 1, 0.7);
}
div ul li {
display: inline-block;
padding: 5px 20px;
}
.selected {
background: #0769AD;
box-shadow: inset 0px 8px 6px 0px rgba(0, 0, 0, 0.3);
}
<div>
<ul>
<li>A</li>
<li>B</li>
<li class='selected'>C</li>
<li>D</li>
</ul>
</div>
Update div ul { box-shadow: 0 -5px 5px rgba(1, 1, 1, 0.7);}
html,body{
background:#0769AD;
margin:0 auto;
padding:0;
}
div {
width:400px;
margin:0 auto;padding:0;
text-align:center;
}
div ul{
background:#fff;
width:100%;
margin:0;padding:0;
border-radius: 0px 0px 10px 10px;
box-shadow: 0 0 5px rgba(1, 1, 1, 0.7);
}
div ul li{
display:inline-block;
padding:5px 20px;
}
.selected{
background:#0769AD;
box-shadow: inset 0px 8px 6px 0px rgba(0,0,0,0.3);
position:relative;
}
.selected:after{
content:'';
display:block;
width:100%;
height:25px;
left:0;
top:0;
position:absolute;
box-shadow: 0 10px 0px #0769AD;
z-index:0;
}
<div>
<ul>
<li>A</li>
<li>B</li>
<li class='selected'>C</li>
<li>D</li>
</ul>
</div>

Line below headings alignment issue

I have created a heading style with a line below heading.The issue is the line does not align itself with the alignment of text to center or right. It's always on the left side no matter where the text is aligned.
h1 {
margin: 0 0 25px;
font-family: 'Raleway', sans-serif;
font-weight: 300;
color:black;
line-height:2em;
}
h1:after {
content:' ';
position: relative;
display:block;
width: 40px;
margin: 0 0;
border:1px solid #CB9033;
border-radius:4px;
-webkit-border-radius:4px;
-moz-border-radius:4px;
box-shadow:inset 0 1px 1px rgba(0, 0, 0, .05);
-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .05);
-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .05);
}
You can use a class for center and right alignment:
h1 {
color:#000;
font-family:'Raleway', sans-serif;
font-weight:300;
line-height:2em;
margin:0 0 25px;
position:relative;
}
h1:after {
border:1px solid #CB9033;
content:'';
display:block;
margin:0;
position:absolute;
width:40px;
}
h1.right {
text-align:right;
}
h1.right:after {
right:0;
}
h1.center {
text-align:center;
}
h1.center:after {
left:50%;
transform:translateX(-50%);
}
<h1 class="right">Test</h1>
<h1 class="center">Test</h1>
<h1>Test</h1>

floating 2 columns side byside in container div

I am trying float two columns called column_l and column_r side by side on an about page but the problem I am having is that its moves and messes up the footer and hangs outside of the container div.
column_l contains the info about the company while column_r contains a picture.
I will show my code, but basically, the body contains a container which I have put all my code on.
For this, I created a wrapper to include the two columns.
body{
background-image:url('../img/small_logo.jpg');
background-repeat:repeat;
position:relative;
background-position:50% 50%;
font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
font-size: 0.8em;
/*padding-left:25px;
padding-right:25px;*/
overflow:visible;
margin:0px auto;
background-attachment:fixed;
min-height:100%;
width:100%;
/* FOR A LARGE-SINGLE IMAGE TO STRETCH COMFORTABLY ACROSS A BODY
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='.myBackground.jpg', sizingMethod='scale');
-ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='myBackground.jpg', sizingMethod='scale')";
zoom:1;*/
}
#container{
margin: auto;
padding:10px;
background-color:#F5F5DC;
width:720px;
border:2px black solid;
position:relative;
background-attachment: scroll;
display:block;
height:auto;
margin-bottom:10px;
padding-bottom:15px
}
#logo{ margin:0;
padding:auto;
position: inherit;
display:block;
height:auto;
width:auto;
}
#wrapper{margin:auto; height:auto; width:100%;}
#column_l {
width: 60%;
margin: 0;
padding: 0;
background-color: #FFFF99;
float:left;
}
#column_r {
width: 40%;
margin: 0;
margin-right:0px;
float: right;
background-color: #FFFF99;
position: absolute;
left:60%;
}
#column_r p {
font-size: 11px;
margin: 7px;
}
#nav{
background-color: #800000;
margin-left: 0px;
text-align: center;
border-top: 2px solid #800000;
border-bottom: 2px solid #800000;
padding:10px 0 10px 0;
font-family:"Buxton Sketch";
font-size:16px;
}
#rightContainer{
float:right;
margin:0;
padding:0;
border:2px solid;
width:25%;
height:400px;
}
th{font-size:large;
}
#footer{
margin-left:0;
padding:10px 0 10px 0;
text-align:center;
opacity:0.6em;
filter:alpha(opacity=60); /* For IE8 and earlier */
height:40px;
vertical-align:bottom;
font-family:"Buxton Sketch";
font-size:16px;
}
#copyright{
margin:auto;
padding:3px;
text-align:center;
}
#copyright p{
font-size: 12px;
color:#000000;
}
#fb {padding:2px;margin:auto; float:left; }
/* Styles for Navigation */
#nav ul {
list-style-type: none;
width: 100%;
margin: 0;
padding: 0;
}
#nav li {
float: left;
}
#nav a {
color: #fff;
text-decoration: none;
margin: 0 3px;
padding: 5px;
display: inline;
}
#nav a:hover {
border: 1px solid #456;
background-color: #F0E68C;
font-size:large;
color:black;
}
/* Styles for Footer */
#footer ul {
list-style-type: none;
width: 100%;
margin: 0px;
padding: 5px;
padding-top:5px;
}
#footer li {
float: left;
}
#footer a {
color: black;
text-decoration: none;
margin-top: 0px;
padding-top: 5px;
display: inline;
}
#footer a:hover {
border: 1px solid ;
background-color: #F0E68C;
font-size:medium;
}
/*Classes */
.largehead h1{font-size:x-large;}
.shadow:before,
.shadow:after {
content:"";
position:absolute;
z-index:-2;
}
.shadow p {
font-size:16px;
font-weight:bold;
}
.shadow img {
font-size:16px;
font-weight:bold;
}
/* Shadow Style */
.shadow {
-moz-box-shadow:2px 2px 5px black,-2px -2px 5px lightblue; /* For Older Versions */
-webkit-box-shadow:2px 2px 5px black,-2px -2px 5px lightblue;
box-shadow:2px 2px 5px black,-2px -2px 5px lightblue;
/* For 'IE' */
filter:
progid:DXImageTransform.Microsoft.Shadow(color=lightblue,direction=0,strength=5) /* Top */
progid:DXImageTransform.Microsoft.Shadow(color=#777777,direction=90,strength=3) /* Right */
progid:DXImageTransform.Microsoft.Shadow(color=#777777,direction=180,strength=3) /* Bottom */
progid:DXImageTransform.Microsoft.Shadow(color=lightblue,direction=270,strength=5);/* Left */
}
-webkit-box-shadow:2px 2px 5px black,-2px -2px 5px lightblue;
box-shadow:2px 2px 5px black,-2px -2px 5px lightblue;
/* For 'IE' */
filter:
progid:DXImageTransform.Microsoft.Shadow(color=lightblue,direction=0,strength=5) /* Top */
progid:DXImageTransform.Microsoft.Shadow(color=#777777,direction=90,strength=3) /* Right */
progid:DXImageTransform.Microsoft.Shadow(color=#777777,direction=180,strength=3) /* Bottom */
progid:DXImageTransform.Microsoft.Shadow(color=lightblue,direction=270,strength=5);/* Left */
}
/* Rotated box*/
.rotated {
-webkit-box-shadow:none;
-moz-box-shadow:none;
box-shadow:none;
-webkit-transform:rotate(-3deg);
-moz-transform:rotate(-3deg);
-ms-transform:rotate(-3deg);
-o-transform:rotate(-3deg);
transform:rotate(-3deg);
}
.rotated > :first-child:before {
content:"";
position:absolute;
z-index:-1;
top:0;
bottom:0;
left:0;
right:0;
background:#fff;
-webkit-box-shadow:0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
-moz-box-shadow:0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
box-shadow:0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
}
/* Lifted corners */
.lifted {
-moz-border-radius:4px;
border-radius:4px;
}
.lifted:before,
.lifted:after {
bottom:15px;
left:10px;
width:50%;
height:20%;
max-width:300px;
max-height:100px;
-webkit-box-shadow:0 15px 10px rgba(0, 0, 0, 0.7);
-moz-box-shadow:0 15px 10px rgba(0, 0, 0, 0.7);
box-shadow:0 15px 10px rgba(0, 0, 0, 0.7);
-webkit-transform:rotate(-3deg);
-moz-transform:rotate(-3deg);
-ms-transform:rotate(-3deg);
-o-transform:rotate(-3deg);
transform:rotate(-3deg);
}
.lifted:after {
right:10px;
left:auto;
-webkit-transform:rotate(3deg);
-moz-transform:rotate(3deg);
-ms-transform:rotate(3deg);
-o-transform:rotate(3deg);
transform:rotate(3deg);
}
/* Curled corners */
.curled {
border:1px solid #efefef;
-moz-border-radius:0 0 120px 120px / 0 0 6px 6px;
border-radius:0 0 120px 120px / 0 0 6px 6px;
}
.curled:before,
.curled:after {
bottom:12px;
left:10px;
width:50%;
height:55%;
max-width:200px;
max-height:100px;
-webkit-box-shadow:0 8px 12px rgba(0, 0, 0, 0.5);
-moz-box-shadow:0 8px 12px rgba(0, 0, 0, 0.5);
box-shadow:0 8px 12px rgba(0, 0, 0, 0.5);
-webkit-transform:skew(-8deg) rotate(-3deg);
-moz-transform:skew(-8deg) rotate(-3deg);
-ms-transform:skew(-8deg) rotate(-3deg);
-o-transform:skew(-8deg) rotate(-3deg);
transform:skew(-8deg) rotate(-3deg);
}
.curled:after {
right:10px;
left:auto;
-webkit-transform:skew(8deg) rotate(3deg);
-moz-transform:skew(8deg) rotate(3deg);
-ms-transform:skew(8deg) rotate(3deg);
-o-transform:skew(8deg) rotate(3deg);
transform:skew(8deg) rotate(3deg);
}
dl.border-around
{
margin: 2em 0;
padding: 0;
width: 20em;
float:right;
}
.border-around dt
{
background-color: #131210;
color: #959289;
padding: .5em;
font-weight: bold;
text-align: center;
text-transform: uppercase;
border-left: 1px solid #131210;
border-right: 1px solid #131210;
border-top: 1px solid #131210;
}
.border-around dd
{
margin: 0 0 1em 0;
background: #DBD8D8;
text-align: center;
padding: 1em .5em;
font-style: italic;
border-left: 1px solid #131210;
border-right: 1px solid #131210;
border-bottom: 1px solid #131210;
}
div.wrapperleft{
float:left;
position:relative;
}
}
div.wrapper{
float:right; /* important */
position:relative; /* important(so we can absolutely position the description div */
}
div.description{
position:absolute; /* absolute position (so we can position it where we want)*/
bottom:0px; /* position will be on bottom */
left:0px;
width:60%;
/* styling bellow */
background-color:black;
font-family: 'tahoma';
font-size:15px;
color:white;
opacity:0.6; /* transparency */
filter:alpha(opacity=60); /* IE transparency */
}
p.description_content{
padding:0px;
margin:0px;
}
/*Feedback*/
form {float:left; width:50%; text-align:left; padding-top:30px;color:white; margin-left:200px; list-style:none;}
textarea {border:0; padding-top:0px; font-family:"Lucida Console";}
input {border:0; padding:0; font-family:"Lucida Console";}
submit {border:0; padding:0; font-family:"Lucida Console";}
label {border:0; padding:0; font-family:"Lucida Console";}
label {float:left; width:150px; text-align:right; display:block;margin-top:5px;}
textarea {border:1px gray solid; margin-left:10px; padding:5px;}
input, datalist {border:1px gray solid; margin-left:10px; padding:5px;}
input {width:280px; margin-bottom:16px;}
textarea {width:280px; height:150px; text-align:justify; margin-bottom:16px;}
#feedback {padding-top:10px; margin-right:100px;}
and for the html:
<body > <!-- START BODY -->
<!-- START CONTAINER -->
<div id="container" class="shadow lifted">
<div id="logo"> <!-- START LOGO -->
<img src="img/cropped_logo.jpg" alt="logo" width=720px height=300px />
</div> <!-- END LOGO -->
<!-- START NAV-->
<div id="nav" class="shadow">
<a href="index.html" > Home</a>
Menu
Wholesale
Our Story
Contact Us
</div> <!-- END NAV-->
<div id="wrapper">
<!-- Begin Left Column -->
<div id="column_l">
<h1>Our Story</h1>
<p> What started out as making ice cream for family and friends, in our home kitchen, quickly flourished into a labor of love and creativity for ice cream aficionado Hugh Balthrop. "For me, ice cream is all about real flavor using natural and local ingredients. This is where the passion is for me. Ice cream brings out the inner kid in everyone". Ever had Sweet Potato Ice Cream with candied pecans? What about lemon sweet tea sorbet? Wild Blueberry Frozen Yogurt? Blackberry or Watermelon Sorbet? The list goes on and on... Where can you find it, you ask? Right now, you can grab some at Oxbow Restaurant, in Clarksdale, MS, Mississippi Grounds and Cleveland Country Club in Cleveland, MS, Delta Bistro and TurnRow Books, in Greenwood, MS.</p>
</div><!-- End Left Column -->
<!-- Begin Right Column -->
<div id="column_r">
<img alt="" height="288" src="img/hugh.jpg" width="193" />
<p>Hugh Balthrop</p>
</div><!-- End Right Column -->
</div><br> <!--end wrapper-->
<div id="footer" class="shadow lifted">
<div class="fb-like" data-href="https://www.facebook.com/pages/Sweet-Magnolia-Ice-Cream-Co/303952586284264?fref=ts" data-send="true" data-layout="button_count" data-width="450" data-show-faces="true" clear:both></div>
Home
Menu
Wholesale
Our Story
Contact Us
</div> <!-- end of footer -->
<div id="copyright" class="lifted">
<p id="copyright">Sweet Magnolia Ice Cream Company © 2013. All Rights Reserved.</p>
</div>
</div> <!-- End of Container -->
</body>
</html>
I tried pushing column_r over with left:60% but it now covers up the footer.
You are forgetting to clear the floats.
Add
#footer { clear: both; }
And it will fix the problem.
Adding
float:left;
to the #wrapper CSS class will make the outer containing div expand to hold the contents of the article.
There are still some left over style issues you will have to deal with but hopefully this gets you on your way.
Add the rule 'clear: both; to the footer css styling, should do the trick!

css background-position not working in IE 7 and 8

This page renders great in FF, Chrome, etc.. However in IE 7 and 8, the close "X" which is a background image does not line up. Any ideas? I tried to set the background-position etc..
The code I have:
.startup-container
{
width: 455px;
}
.close-startup-home
{
background: #c00 url("http://spotlightonhealthyliving.com/btn_closex.png") 0px -8px no-repeat;
float: right;
height: 52px;
width: 60px;
}
.menu-outer
{
background: #545454;
-moz-border-radius:5px;
border-radius:5px;
-moz-box-shadow: 0px 0px 5px 3px rgba(0, 0, 0, .4);
box-shadow: 0px 0px 5px 3px rgba(0, 0, 0, .4);
}
.menu-inner
{
background: #3f3f3f;
-moz-box-shadow: inset 0px 0px 4px 3px rgba(0, 0, 0, .1);
box-shadow: inset 0px 0px 4px 3px rgba(0, 0, 0, .1);
-moz-border-radius:5px;
border-radius:5px;
}
.startup-box
{
width:439px;
line-height:20px;
text-align: center;
color:#fff;
padding-top:5px;
padding-bottom:5px;
}
.startup-box-inner
{
width:389px;
height:99px;
padding:20px;
margin-left:5px;
margin-right:5px;
}
<div class="startup-container">
<div class="close-startup-home"></div>
<div class="menu-outer startup-box">
<div class="menu-inner startup-box-inner"></div>
</div>
</div>
Give a position: absolute to your div containing the close button and position it according to that.
.startup-container {
width: 455px;
position: relative
}
.close-startup-home {
background: #c00 url("http://spotlightonhealthyliving.com/btn_closex.png") 0px -8px no-repeat;
float: right;
height: 52px;
width: 60px;
position: absolute;
right: 0;
}

Resources